Директивы AngularJS атрибуты доступа из контроллера
Я пытаюсь получить доступ к атрибутам директивы в функции контроллера. Однако к тому времени, когда я получаю к нему доступ, он не определен. Я заметил, что если я делаю простой таймер, он работает. Есть ли способ выполнить код только после директивы иs области видимости готовы и готовы к использованию?
Я сделал скрипку с этим. Убедитесь, что ваша консоль открыта.http://jsfiddle.net/paulocoelho/uKA2L/1/
Вот код, который я использую в скрипке:
var module = angular.module('testApp', [])
.directive('testcomponent', function () {
return {
restrict: 'E',
template: '<p>{{text}} This will run fine! </p>',
scope: {
text: '@text'
},
controller: function ($scope, $element) {
console.log($scope.text); // this will return undefined
setTimeout(function () {
console.log($scope.text); // this will return the actual value...
}, 1000);
},
link: function ($scope, $element, $attrs) {
console.log($scope.text);
setTimeout(function () {
console.log($scope.text);
}, 1000);
}
};
});