无法访问通过作用域传递的指令中的变量

时间:2015-05-07 20:46:37

标签: angularjs angularjs-directive angularjs-scope

tab directivetabset directive内使用  无法在newvar tabset

中访问通过link的变量tabset

plunkr中提供了此问题的演示here

为什么我无法通过newvar功能访问link

HTML代码段     

     <tab heading="tab1">
        <p>This is tab1</p>
     </tab>
     <tab heading="tab2">
        <p>This is tab2</p>
     </tab>

  </tabset>

JS代码段

.directive('tabset',function(){
return{
    restrict:'E',
    scope:{
        newvar:"@"          
    },
    transclude:true,
    templateUrl:'tabset.html',
    bindToController:true,
    controllerAs:'tabset',
    controller:function($scope){

        var self = this;
        self.tabs = []
        self.add = function add(tab){
            self.tabs.push(tab);
            if(self.tabs.length === 1){
        tab.active = true;
        }
        } 

        self.click = function click(selectedTab){
            angular.forEach(self.tabs,function(tab){
                 if(tab.active && tab !== selectedTab) 
                    tab.active = false;


        })
        selectedTab.active = true;

    }
}, 
  link:function(scope,elem,attr){

            console.log(scope.newvar);
            scope.newvar = attr.newvar;

  }
}
})

0 个答案:

没有答案