Правда, моя проблема должна лежать где-то на другой стороне привязки. Я не написал код, над которым я работаю, поэтому мне придется взглянуть. Но, возможно, я должен просто пометить это как ответ для более поздних браузеров.
у меня естьдиректива с участиемизолировать область и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
Функция не определена.
Это нормальное поведение? Код разрешения обещания находится в другом объеме?