Директивы 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);
        }
    };
});

Ответы на вопрос(6)

Ваш ответ на вопрос