您需要定义隔离范围以使指令可重用.一个简单的解决方法是添加范围:{}以创建一个隔离的范围,这样当您单击每个按钮时,它只会触发一次.
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); }); } }; });
原文地址:https://www.jb51.cc/angularjs/142118.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。