Неопределенная внешняя область видимости ui-grid

Я пытаюсь отобразить внешнюю область для нижнего колонтитула 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