请参阅以下plnkr: http://plnkr.co/edit/KZwIBX?p=preview
第一个标准选择按预期工作(至少就我预期/预期的那样),这意味着在更新模型后调用ng-change。但是当我创建一个具有隔离范围的指令时,似乎在我的模型更新之前调用了ng-change。显然我有一些误解。
情况非常相似 ng-change后AngularJS范围更新
请参阅以下plnkr: http://plnkr.co/edit/KZwIBX?p=preview
第一个标准选择按预期工作(至少就我预期/预期的那样),这意味着在更新模型后调用ng-change。但是当我创建一个具有隔离范围的指令时,似乎在我的模型更新之前调用了ng-change。显然我有一些误解。
情况非常相似 ng-change后AngularJS范围更新
plnkr中示例的问题在于您将更改函数传递给隔离范围,作为使用父范围的绑定 改变:'&'。 通过使用&函数将被评估为父项上下文中的表达式,并且将在模型更改之前评估它(如果没有作为参数绑定到模型)
可以通过两种方式更改示例以便工作:
您可以使用change:'='定义在指令中定义隔离范围
您可以按原样使用它,但使用参数调用父引用函数。 对于第二个例子,这是一个很好的解释: http://www.thinkster.io/pick/oEo8ZAXv27/angularjs-isolate-scope
plnkr中示例的问题在于您将更改函数传递给隔离范围,作为使用父范围的绑定 改变:'&'。 通过使用&函数将被评估为父项上下文中的表达式,并且将在模型更改之前评估它(如果没有作为参数绑定到模型)
可以通过两种方式更改示例以便工作:
您可以使用change:'='定义在指令中定义隔离范围
您可以按原样使用它,但使用参数调用父引用函数。 对于第二个例子,这是一个很好的解释: http://www.thinkster.io/pick/oEo8ZAXv27/angularjs-isolate-scope