AngularJS - 为什么在模型更新之前调用ng-change?

shu*_*ttj 12 angularjs angularjs-ng-change

请参阅以下plnkr:http://plnkr.co/edit/KZwIBX?p = preview

第一个标准选择按预期工作(至少就我预期/预期的那样),这意味着在更新模型后调用ng-change.但是当我创建一个具有隔离范围的指令时,似乎在我的模型更新之前调用了ng-change.显然我有一些误解.

ng-change之后更新的AngularJS范围非常相似的情况

Cor*_*che 9

plnkr中示例的问题在于您通过使用change:'&'将更改函数传递给隔离范围作为与父范围的绑定.通过使用&函数将被计算为父项上下文中的表达式,并且将在模型更改之前评估它(如果没有作为参数绑定到模型)

可以通过两种方式更改示例以便工作:

  1. 您可以使用change:'='定义在指令中定义隔离范围

  2. 您可以按原样使用它,但使用参数调用父引用函数.对于第二个例子,这是一个很好的解释:http: //www.thinkster.io/pick/oEo8ZAXv27/angularjs-isolate-scope