Ui-мрежа с недефиниран външен обхват

Опитвам се да покажа външен обхват за долния колонтитул на ui-grid с помощта на директива. Външният обхват е показан правилно в таблицата, но променливата е недефинирана, когато се опитах да осъществя достъп до нея във функцията за връзка. мисли?

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

http://plnkr.co/edit/qas0f23oE6RJOuYzrcOm?p=preview


person Lauwrentius    schedule 12.10.2015    source източник


Отговори (1)


Мисля, че проблемът е, че се опитвате да получите свойството, преди да бъде присвоена някаква стойност от родителската му директива. Опитайте да промените директивата си на това:

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.          
          });
        }
  };  
}]);
person Alon Eitan    schedule 12.10.2015