anglejs – Angular JS:ng-click范围集在ng-if中不起作用
发布时间:2020-12-17 07:39:47 所属栏目:安全 来源:网络整理
导读:今天,我看到一个角色的bug: 当您尝试直接在ng点击中设置范围值时,当您的点击是ng – 如果哪个测试具有相同的范围值 – 时,它不起作用. http://jsfiddle.net/9j2TL/26/ angular.module('test',[]).controller('testCtrl',function($scope) { $scope.step = 1
今天,我看到一个角色的bug:
当您尝试直接在ng点击中设置范围值时,当您的点击是ng – 如果哪个测试具有相同的范围值 – >时,它不起作用. http://jsfiddle.net/9j2TL/26/ angular.module('test',[]) .controller('testCtrl',function($scope) { $scope.step = 1; $scope.setStep = function(step) { $scope.step = step; }; }); <div ng-app="test"> <div ng-controller="testCtrl"> <ul class="timeline"> <li> <div class="block-submit"> <button class="btn btn-primary btn-lg" ng-click="step = 2">Without ngif block</button> </div> </li> <li ng-if="step > 1"> <div class="block-submit"> <button class="btn btn-primary btn-lg" ng-click="step = 3">with ngif block</button> </div> </li> <li ng-if="step > 1"> <div class="block-submit"> <button class="btn btn-primary btn-lg" ng-click="setStep(3)">With ngif block and scope function</button> </div> </li> </ul> <p> step value : {{ step }} </p> </div> </div> 要解决它,你应该创建一个范围函数… 如果有人解释这个问题,我很乐意理解它! 谢谢 :)
我不认为这是一个错误.您只是在视图中自动创建属性和混乱的范围.
Updated Fiddler. 这样做有效: <li ng-if="step > 1"> <div class="block-submit"> <button class="btn btn-primary btn-lg" ng-click="$parent.step = 3">with ngif block</button> </div> </li> 这正在发生,因为ng-if的内部正在创建一个新的范围. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |