如何在更改ng模型时调用ng-change,但不能明确表示

时间:2015-10-06 07:20:53

标签: angularjs binding

嗯,问题的标题可能不太明确。所以我在这里解释一下:

我有一个输入字段I1,其ng模型绑定到一个对象。

然后我有几个输入字段,其值如果被更改,则将它们相加并反映在I1的ng-model中。

现在,通过输入输入框明确更改I1时,会触发其ng-change。但是,如果I1的值因少数输入字段的变化而发生变化,则不会触发I1的ng变化。

简而言之,I1中显示的值由于少数输入字段的更改而更改,但不会触发其ng-change。

即使在更新ng-model时,如何触发ng-change 我希望,读者可以在这里得到这个想法,因为我知道它已经变得有点复杂了

2 个答案:

答案 0 :(得分:0)

从以下示例中获取想法: -

  

function MyController($ scope){

     

$ scope.modelVar = 1;

     

$ scope。$ watch(' modelVar',function(){

     alert('hey, modelVar has changed!');

  // here you can call onChange event.
     

});

     

}

答案 1 :(得分:0)

您可以在模型上使用手表并获得所需的结果 -

<强> HTML

<input type="text"  ng-model="l1" ng-change="doSomething()" />

<强>控制器

$scope.$watch(function() { return $scope.l1;}, 
       function(newVal, oldVal) {
         if (newVal !== oldVal) {
             $scope.doSomething();
         }
});

或者,您可以查看此主题 - How to trigger ng-click [AngularJS] programmatically

但建议采用第一种方法。