Я использую компонент стиля Angular2 в AngularJS. В моем компоненте есть функция, предназначенная для обновления графического интерфейса путем изменения параметров раскрывающегося списка:
var ctrl = this;
async function updateOptions(node) {
var name = node.name;
let result = await MyService.getResult(name);
ctrl.options = result;
console.log(ctrl.options);
}
Соответствующий HTML-код для отображения этих параметров:
<select ng-if="$ctrl.getType() === 'dropdown'"
class="form-control selectList"
ng-model="$ctrl.value"
ng-options="option.key as option.displayName for option in $ctrl.options">
</select>
, где getType()
всегда возвращает 'dropdown'
.
Раскрывающийся список начинается пустым. Пользователь выбирает опцию из выпадающего списка. Консоль правильно регистрирует параметры и выпадающие обновления. Пользователь выбирает ДРУГОЙ вариант из выпадающего списка. Консоль снова регистрирует опции правильно. Но в этот раз выпадающий список НЕ обновляется. Все последующее время в раскрывающемся меню отображаются параметры ПРЕДЫДУЩЕЙ вещи, выбранной пользователем.
С нетерпением жду хорошей детективной работы. Рад предоставить больше фрагментов кода из этого большого проекта. Мне интересно, может ли это быть проблемой при обновлении AngularJS.
UPDATE:
Код MyService:
this.getResult = function(name) {
return myFactory.getStuff(name).then(
function(response) {
return response.result.map(...);
}
);
};
Код MyFactory:
myFactory.getStuff = function(name) {
return $http.get('/url/here/' + name)).then(
function(response) {
return response.data;
}
);
};