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

у меня естьдиректива с участиемизолировать область иcontrollerAs шаблон.

    var directive = {
        restrict: 'E',
        scope: {
            something: '='
        },
        templateUrl: './App/directiveTemplate.html',
        controller: directiveController,
        controllerAs: 'vm',
        bindToController: true
    }

и в контроллере я инициирую с помощью вызова службы REST с помощью$ HTTP это возвращает обещание.

 function directiveController(someService) {

    var vm = this;

    // Here vm.something is defined and bound to the appropriate model set where the directive is used

    init()

    function init() {
        return someService.getProducts()
        .then(productsReady);

        function productsReady(response) {
            vm.products = response;
            //find product using vm.something

            // here vm.something is undefined

           return vm.products;
        }
    }

Проблема в том, что если я остановлюсь передinit() методvm.something определяется так, как должно быть, но вproductsReady Функция не определена.

Это нормальное поведение? Код разрешения обещания находится в другом объеме?

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

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