AngularJs对同一指令的多次调用导致问题
我很难得到一个简单的工作指令。我有一个指令,当我点击按钮时,它会改变按钮的颜色,当我再次点击按钮时,它会回到原来的颜色 基本上它是一个标记按钮,当你完成标记时,它会让你标记一些东西并改变它的颜色 为了改变颜色,我使用了ng类,每当设置范围变量时,它都会设置一个活动类。当我使用该指令一次时,它工作正常,当我使用多个实例时,它开始导致问题 这是代码AngularJs对同一指令的多次调用导致问题,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我很难得到一个简单的工作指令。我有一个指令,当我点击按钮时,它会改变按钮的颜色,当我再次点击按钮时,它会回到原来的颜色 基本上它是一个标记按钮,当你完成标记时,它会让你标记一些东西并改变它的颜色 为了改变颜色,我使用了ng类,每当设置范围变量时,它都会设置一个活动类。当我使用该指令一次时,它工作正常,当我使用多个实例时,它开始导致问题 这是代码 app.directive('myNeeds',function() { return { restrict: 'E',
app.directive('myNeeds',function() {
return {
restrict: 'E',
replace: true,
transclude: true,
templateUrl: 'templates/needs.html',
// text binding
scope: {
needkey: '@needKey',
needvalue: '@needValue',
needcity: '@needCity'
},
link: function(scope,element,attrs) {
scope.isNeed = false;
element.bind('click',function() {
scope.isNeed = !scope.isNeed;
});
}
}
});
<span class="star">
<i class="dse-sprite ico-blue-star hand" ng-class="{active:isNeed}"></i>
</span>
现在让我们假设我在一个页面上调用此指令两次,无论单击哪个按钮,它都会将活动类添加到页面上的最新或最后一个按钮。您可以制作一个plunker或fiddle来显示问题吗?也许JSFIDLE或plunker可以帮助诊断发生了什么。这听起来像是共享作用域的问题,但仅根据提供的信息很难说。您的代码甚至没有使用myNeeds指令?!一切似乎都在工作,我做了一把小提琴,它是好的,实际上我的指令有一些其他代码,这是使用服务,所以它似乎是一个小故障