我什么时候应该使用角度$watch函数以及何时使用ng-changeangularjs 指令?对我来说,他们都可以做同样的事情。
它们之间有什么区别或使用模式吗?
我什么时候应该使用角度$watch函数以及何时使用ng-changeangularjs 指令?对我来说,他们都可以做同样的事情。
它们之间有什么区别或使用模式吗?
显然,它们不一样。一个是单独在控制器中使用的;另一个是关于输入元素的指令。
但即使在他们的应用程序中,它们也不同。
当您使用$watch被监视的表达式时,将在每个摘要周期上进行评估,如果有变化,则调用处理程序。
使用ng-change,处理程序被显式调用以响应事件。
有了$watch,更改可以来自任何地方:用户操作、控制器功能、服务 - 所有这些都将触发处理程序。
使用ng-change时,更改仅限于对特定输入元素的用户操作。
还值得注意的是,它只能ng-change与-结合使用,换句话说,表达式仅在(请参阅文档以获取更多信息)更改时进行评估,这通常发生在响应用户启动的事件时。ng-modelng-changengModel.$viewValuengModelController