2016-04-25 78 views
0

爲什麼雙向綁定不能與使用相同控制器的模式一起工作?雙向綁定無法在引導模式下工作angularJs

我有一個模式使用ng-models在控制器中,但每當改變模式上的數據,它不會在控制器中更改。

控制器:createEventController 保持該物體

$scope.newEvent = 
     { 
      "name": "", 
      "location": "", 
      "latitude": "", 
      "longitude": "" 
      "taxoption": 
        { 
         "country": "", 
      ........ 

檢視:

NG-模型= 「newEvent.taxoption.country」

<div ng-controller="createEventController" class="modal fade" id="ticketTaxModal" tabindex="-1" role="dialog" aria-labelledby="TicketTaxForm"> 
    <div class="modal-dialog" role="document"> 
    <div class="modal-content"> 

     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title" id="myModalLabel">Tax Options</h4> 
     </div> 

     <div class="modal-body" style="text-align: left;"> 
     <div class="form-horizontal"> 

      <div class="form-group"> 
      <label for="country" class="col-sm-2 control-label">Country</label> 
      <div class="col-sm-10"> 
       <select id="country" ng-model="newEvent.taxoption.country" class="form-control"> 
       <option value="CAN">Canada</option> 
       <option value="USA">United States</option> 
       </select> 
      </div> 
      </div> 
.............. 

模態指令:

directive("ticketTax", [function(){ 
    return{ 
     restrict: 'E', 
     templateUrl: 'app/partials/create/ticketTaxModal.html', 
     link: function(scope, elem, attrs){ 


     } 
    } 
}]); 

如何將數據從模態傳遞到控制器?我不明白爲什麼雙向綁定不起作用,因爲同一個控制器被分配給模態。有事情的東西?

+0

也許你正在尋找的是通過添加'require:'ngModel','並通過在保存控制器的鏈接函數(scope,elem,attrs,ctrl)中添加第四個參數來訪問您的指令中的控制器。我認爲你需要手動設置觀察者來更新你的模型,如果你使用這種指令模態(我不喜歡)。 – Vaelyr

回答

0

我修正了它在視圖中刪除ng控制器。我認爲這是創建控制器的另一個實例,從而阻止雙向綁定。