【发布时间】:2013-11-20 16:40:23
【问题描述】:
请看以下plnkr:http://plnkr.co/edit/KZwIBX?p=preview
第一个标准选择按预期工作(至少就我的预期/预期而言),这意味着在模型更新后调用 ng-change。但是当我创建一个具有隔离范围的指令时,似乎在我的模型更新之前调用了 ng-change。显然,我有一些误解。
【问题讨论】:
标签: angularjs angularjs-ng-change
请看以下plnkr:http://plnkr.co/edit/KZwIBX?p=preview
第一个标准选择按预期工作(至少就我的预期/预期而言),这意味着在模型更新后调用 ng-change。但是当我创建一个具有隔离范围的指令时,似乎在我的模型更新之前调用了 ng-change。显然,我有一些误解。
【问题讨论】:
标签: angularjs angularjs-ng-change
plnkr 中示例的问题在于,您通过使用 change : '&' 将更改函数传递给隔离范围作为与父范围的绑定。 通过使用 & ,函数将在父上下文中作为表达式进行评估,并将在模型更改之前进行评估(如果没有绑定到模型作为参数)
为了工作,可以通过两种方式更改示例:
您可以在指令中定义您的隔离范围,并更改:'=' 定义
您可以按原样使用它,但使用参数调用父引用函数。 对于第二个示例,这是一个很好的解释: http://www.thinkster.io/pick/oEo8ZAXv27/angularjs-isolate-scope
【讨论】: