Angularjs 未定义的外部作用域ui网格

Angularjs 未定义的外部作用域ui网格,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,我试图使用指令显示ui网格页脚的外部范围。表中正确显示了外部作用域,但当我试图在link函数中访问它时,变量未定义。想法 app.directive('testDir',[function(){ return { restrict: 'E', replace: true, transclude: true, template: '<div>{{t1.val}}</div>',

我试图使用指令显示ui网格页脚的外部范围。表中正确显示了外部作用域,但当我试图在link函数中访问它时,变量未定义。想法

app.directive('testDir',[function(){
    return {
        restrict: 'E',
        replace: true,    
        transclude: true,
        template: '<div>{{t1.val}}</div>',
        scope: {
          t1: '='
        },link: function(scope){
          console.log(scope); //=====>t1 is there in the console.
          console.log(scope.t1); //=====>t1 is undefined in console.          
        }
    };  
}]);
app.directive('testDir',[function(){
返回{
限制:'E',
替换:正确,
是的,
模板:“{t1.val}}”,
范围:{
t1:“=”
},链接:功能(范围){
console.log(范围);//==>t1在控制台中。
console.log(scope.t1);//==>t1在console中未定义。
}
};  
}]);

我认为问题在于,您试图在父指令指定任何值之前获取属性。尝试将指令更改为:

app.directive('testDir',['$timeout', function($timeout){
  return {
        restrict: 'E',
        replace: true,    
        transclude: true,
        template: '<div>{{t1.val}}</div>',
        scope: {
          t1: '='
        },link: function(scope){
          $timeout(function() {
              console.log(scope); //=====>t1 is there in the console.
              console.log(scope.t1); //=====>t1 is undefined in console.          
          });
        }
  };  
}]);
app.directive('testDir',['$timeout',function($timeout){
返回{
限制:'E',
替换:正确,
是的,
模板:“{t1.val}}”,
范围:{
t1:“=”
},链接:功能(范围){
$timeout(函数(){
console.log(范围);//==>t1在控制台中。
console.log(scope.t1);//==>t1在console中未定义。
});
}
};  
}]);

我认为问题在于,您试图在父指令指定任何值之前获取属性。尝试将指令更改为:

app.directive('testDir',['$timeout', function($timeout){
  return {
        restrict: 'E',
        replace: true,    
        transclude: true,
        template: '<div>{{t1.val}}</div>',
        scope: {
          t1: '='
        },link: function(scope){
          $timeout(function() {
              console.log(scope); //=====>t1 is there in the console.
              console.log(scope.t1); //=====>t1 is undefined in console.          
          });
        }
  };  
}]);
app.directive('testDir',['$timeout',function($timeout){
返回{
限制:'E',
替换:正确,
是的,
模板:“{t1.val}}”,
范围:{
t1:“=”
},链接:功能(范围){
$timeout(函数(){
console.log(范围);//==>t1在控制台中。
console.log(scope.t1);//==>t1在console中未定义。
});
}
};  
}]);