angularjs – 多个指令实例和事件
发布时间:2020-12-17 07:28:48 所属栏目:安全 来源:网络整理
导读:我有一个指令,我在页面上多次使用.它在状态改变时触发事件,然后控制器处理事件. 问题是该事件被触发两次.我知道为什么会发生这种情况,但我要么试图找到解决方法或更好的设计.有小费吗? Plunker示例:http://plnkr.co/edit/xObOvi253qejphU5arFr 您需要定义
我有一个指令,我在页面上多次使用.它在状态改变时触发事件,然后控制器处理事件.
问题是该事件被触发两次.我知道为什么会发生这种情况,但我要么试图找到解决方法或更好的设计.有小费吗? Plunker示例:http://plnkr.co/edit/xObOvi253qejphU5arFr
您需要定义隔离范围以使指令可重用.一个简单的解决方法是添加范围:{}以创建一个隔离的范围,这样当您单击每个按钮时,它只会触发一次.
app.directive('myDirective',function () { return { restrict: 'E',scope: {},// Add this line to create an isolated scope template: '<div>Foo: {{foo}}</div><button ng-click="incrementFoo()">Increment Foo</button>',controller: function ($scope) { $scope.foo = 0; $scope.incrementFoo = function () { $scope.foo += 1; }; $scope.$watch('foo',function () { $scope.$emit('fooChanged',{foo: $scope.foo}); console.log($scope); }); } }; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |