双向绑定无法在引导模式下工作angularJs

问题描述:

为什么双向绑定不能与使用相同控制器的模式一起工作?双向绑定无法在引导模式下工作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

我修正了它在视图中删除ng控制器。我认为这是创建控制器的另一个实例,从而阻止双向绑定。