输入如下:
<input type="text" ng-model="repair.test" ng-change="action()" />
action()当我手动键入并更改输入时,将执行。但是,如果我以编程方式通过其他功能更改了repair.test值,则不会触发ng- change的操作。我已经阅读了角度教程,这可能是预期的行为。
action()
https://docs.angularjs.org/api/ng/directive/ng更改
“当值更改来自模型时,不评估表达式。” <-我也需要这个。模型以任何方式更改时,如何在控制器中触发动作?(输入或通过任何其他功能键入)
谢谢您的帮助。
编辑:
模型值实际上是form.$valid,它周围有它自己的Form控制器(我认为),这就是为什么我使用action函数尝试将值传递给父控制器的原因。因此$scope.$watch,目前仅在初始化时不起作用。
form.$valid
$scope.$watch
ngChange仅用于输入,如果您想收听模型,请执行以下操作
$scope.$watch('repair.test', function(newvalue,oldvalue) { });