2016-08-20 7 views
0

以下は私のHTMLコードです。以下は

<div class="col-md-6"> 
          <div class="col-sm-12" ng-repeat='department in vm.otherDepartments'> 
          <label class="checkbox-custom-labelother_label"> 
           <div class="custom-label-div other_label">department.name</div> 
           <input type="text" name="vm.experience.custom" class="other_inputbox" ng-model="vm.experience.custom[department.id]" ng-required='!vm.experience.departments'> 
          </label> 
         </div> 
        </div> 

私のコントローラのコードです:

$scope.$watch("vm.experience.custom", function (newValue, oldValue) { 
     console.log('newValue:'); 
     console.log(newValue); 
     vm.params.validateDepartments = _.filter(newValue, function (o) { 
      console.log('OOOO:'); 
      console.log(o); 
     }); 
    }); 

だから私は、入力値$時計のいずれかがトリガされるべきで変更されたとき。しかし、この場合は起こっていません。私は間違って何をしていますか?

答えて

0

$ watchはデフォルトでは浅い時計です。 オブジェクトのすべてのサブプロパティをチェックするために、$ watchの3番目のパラメータを "true"に設定する必要があります。 .customの値そのものが変更された場合 ので、あなたはそれあなたのケースで

$scope.$watch ('property', function() {}, true); 

$の時計機能を加える必要がありますだけでトリガされます。

関連する問題