输入如下:
<input type="text" ng-model="repair.test" ng-change="action()" />
action()
当我手动键入并更改输入时执行。但是,如果我以编程方式通过其他一些函数更改 repair.test 值,它不会触发 ng-change 的操作。我已经阅读了 Angular 教程,这可能是预期的行为。https://docs.angularjs.org/api/ng/directive/ngChange
“当值更改来自模型时,不会评估表达式。” <-我也需要这个。
当模型以任何方式发生变化时,如何在 Controller 中触发 Action ? (输入输入或任何其他功能)
谢谢您的帮助。
编辑:
模型值实际上是
form.$valid
,它周围有自己的 Form Controller (我认为),这就是为什么我使用 action 函数尝试将值传递给父 Controller 。所以$scope.$watch
目前不起作用,只有在初始化时才起作用。
最佳答案
ngChange只是为了输入,如果你想听模型这样做
$scope.$watch('repair.test', function(newvalue,oldvalue) {
});
关于javascript - Angular - 更改ng-model时不会触发ng-change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24802627/