Javascript 指令作用域变量

Javascript 指令作用域变量,javascript,angularjs,scope,angularjs-scope,Javascript,Angularjs,Scope,Angularjs Scope,例如,我在html页面中连续三次使用一个指令,每次传递给它的范围变量都不同,但它从第三个指令?中获取所有范围变量 第一次, <my-dir is-active=true></my-dir> 在这里每次我都得到“行动”日志三次?这应该只有一次,因为前两次我没有从指令中传递“IsAction”范围?我很确定您的问题只是语法错误。如果你纠正了这些错误,它似乎工作正常 你在这段代码中有很多语法错误…@Xingh另外,你需要在你的指令中添加restrict:'E'。是的,我已

例如,我在html页面中连续三次使用一个指令,每次传递给它的范围变量都不同,但它从第三个指令?中获取所有范围变量 第一次,

<my-dir is-active=true></my-dir> 

在这里每次我都得到“行动”日志三次?这应该只有一次,因为前两次我没有从指令中传递“IsAction”范围?

我很确定您的问题只是语法错误。如果你纠正了这些错误,它似乎工作正常


你在这段代码中有很多语法错误…@Xingh另外,你需要在你的指令中添加
restrict:'E'
。是的,我已经纠正了它,但仍然存在相同的问题,我们在代码中使用restrict:'E'。你看了plunker了吗?我看不出有什么问题。谢谢,这是我的错,它工作正常:)
<my-dir is-active="true"></my-dir>
<my-dir is-Active="true" is-action="true"><my-dir>
angular
.module('app')
.directive("myDir", function(){
 scope:{
  isActive:'@',
  isAction:'@'
 },
controller:[function('$scope'){
  $scope.isAction ? doAction() : doActive();

 function doAction()
 {
    console.log('in action');
  }

  function doActive()
  {
    console.log('in active');
  }
}]
})
.directive("myDir", function(){
  return {
   scope:{
    isActive:'@',
    isAction:'@'
   },
   controller:function($scope){
      $scope.isAction ? doAction() : doActive();

      function doAction()
      {
        console.log('in action');
      }

      function doActive()
      {
        console.log('in active');
      }
    }
  }
})