我从AngularJS 1.2升级到1.4时遇到了一个场景。
我有一个带有ng-click和ng-model指令的复选框。 我在ng-click中使用模型。
$scope.clickEvent = function(){
$log($scope.myModel);
}
在AngularJS 1.2中输出
old value of the controller
在AngularJS 1.4中输出
New value of the controller.
在从1.2升级到1.4时,我正在查看重大更改日志。
所以问题是: 它是AngularJS 1.2中的一个错误,还是后来在AngularJS 1.4中修改过的一个功能? 如果这是AngularJS 1.2中的一个功能,那么改变这种行为背后的动机是什么?
参考链接: Issue Reported in AngularJS 1.2 which was justified as behavior
答案 0 :(得分:0)
在查看angularJS文档和一些示例后,我发现在v1.2中它是默认行为,因为两个指令的执行/优先级顺序。 V1.2 Discussion
在V1.3 / 1.4中则相反。第一个模型正在更新,点击事件被触发。
还有另一种方法可以解决这个问题。而不是使用model属性尝试使用$ event.target.value,因为它包含更新的值。