javascript - Angular - 更改ng-model时不会触发ng-change

标签 javascript angularjs data-binding angular-ngmodel angularjs-ng-change

输入如下:

<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/

相关文章:

javascript - 从选择中删除特定父级的子级

javascript - 获取 Javascript 集合中项目的索引

winforms - TreeView 填充/绑定(bind)

silverlight - 属性 setter 中的强制值 - Silverlight 5

javascript - 在javascript中访问父对象

JavaScript Date() 返回无效日期

angularjs - 按 $index 分页跟踪

javascript - 在 Angular 中有条件地添加模板

javascript - Angular 和 Firebase 的身份验证问题,未定义不是函数,如何?

c# - 从其他窗口刷新组合框列表,MVVM