角度-更改ng-model时不触发ng-change

输入如下:

<input type="text" ng-model="repair.test"  ng-change="action()" />

action()当我手动键入并更改输入时,将执行。但是,如果我以编程方式通过其他功能更改了repair.test值,则不会触发ng-

change的操作。我已经阅读了角度教程,这可能是预期的行为。

https://docs.angularjs.org/api/ng/directive/ng更改

“当值更改来自模型时,不评估表达式。” <-我也需要这个。模型以任何方式更改时,如何在控制器中触发动作?(输入或通过任何其他功能键入)

谢谢您的帮助。

编辑:

模型值实际上是form.$valid,它周围有它自己的Form控制器(我认为),这就是为什么我使用action函数尝试将值传递给父控制器的原因。因此$scope.$watch,目前仅在初始化时不起作用。

回答:

ngChange仅用于输入,如果您想收听模型,请执行以下操作

$scope.$watch('repair.test', function(newvalue,oldvalue) {

});

以上是 角度-更改ng-model时不触发ng-change 的全部内容, 来源链接: utcz.com/qa/401941.html

回到顶部