2016-09-28 3 views
2

Я создал специальную директиву, которая извлекает данные с контроллера.Пользовательский элемент области видимости, видимый, но неопределенный

Мои переменная видна внутри элемента области видимости, но при попытке открыть его, я получил неопределенного

HTML

<map borders="vm.borders"></map> 

Директива

angular.module('myApp.directives') 
.directive('map', [ function() { 
    return { 
     restrict: 'E', 
     scope: { 
      borders: '=' 
     }, 
     link: function(scope, element, attrs) { 
      console.log(scope); //cfr linked image 
      console.log(scope.borders) //undefined 
     } 
    } 
}]); 

Вот объем. Он содержит переменную границ.

scope console

Что я упускаю, чтобы получить это значение границы?

+1

вы присваивая значения 'vm.borders'? Я не вижу никаких проблем [здесь] (http://jsfiddle.net/cg8e3emv/) – Pradeepb

+1

Когда вы console.log объекта, свойства не оцениваются, пока вы не нажмете на стрелку в консоли, чтобы развернуть объект. журнал регистрации ресурсов показывает, что значение не определено во время выполнения, когда оно попадает в оператор журнала. Ng, если избежать этой проблемы. – shaunhusain

ответ

3

я мог бы предложить, чтобы добавить ng-if в директиву, потому что, например, если vm.borders заводятся с обещанием, ng-if требуется:

<map borders="vm.borders" ng-if="vm.borders"></map> 
+0

Простой и понятный, он работает. Принимать в качестве ответа в 6minutes – Weedoze

+0

Да, если часто помогает. Благодарю. –

 Смежные вопросы

  • Нет связанных вопросов^_^