AngularJs对同一指令的多次调用导致问题

AngularJs对同一指令的多次调用导致问题,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我很难得到一个简单的工作指令。我有一个指令,当我点击按钮时,它会改变按钮的颜色,当我再次点击按钮时,它会回到原来的颜色 基本上它是一个标记按钮,当你完成标记时,它会让你标记一些东西并改变它的颜色 为了改变颜色,我使用了ng类,每当设置范围变量时,它都会设置一个活动类。当我使用该指令一次时,它工作正常,当我使用多个实例时,它开始导致问题 这是代码 app.directive('myNeeds',function() { return { restrict: 'E',

我很难得到一个简单的工作指令。我有一个指令,当我点击按钮时,它会改变按钮的颜色,当我再次点击按钮时,它会回到原来的颜色

基本上它是一个标记按钮,当你完成标记时,它会让你标记一些东西并改变它的颜色

为了改变颜色,我使用了ng类,每当设置范围变量时,它都会设置一个活动类。当我使用该指令一次时,它工作正常,当我使用多个实例时,它开始导致问题

这是代码

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指令?!一切似乎都在工作,我做了一把小提琴,它是好的,实际上我的指令有一些其他代码,这是使用服务,所以它似乎是一个小故障