指令范围变量

时间:2015-06-01 06:18:55

标签: javascript angularjs scope angularjs-scope

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

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

秒时间,

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

第三次,

<my-dir is-Active="true" is-action="true"><my-dir>

JS:

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');
  }
}]
})

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

1 个答案:

答案 0 :(得分:0)

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

Plunker

.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');
      }
    }
  }
})