Angular select 没有更新
Angular select is not updating
我在 angular 中遇到 select 的问题。
HTML:
<select ng-model="vm.targetClassName" ng-options="item for item in vm.classList">
</select>
控制器:
vm.targetClassName = 'b';
generalResources.getClasses().then(setClasses);
function setClasses(classes) {
vm.classList = classes.value;
}
此代码块 vm.classList
之后包含字符串数组,例如 ['a', 'b', 'c']
我期望的是 select 有三个选项,而 'b'
是 selected 但是我只有 select 有三个选项,但什么都没有 selected.
我用 AngularJS Inspector 检查了这些值,它清楚地表明 vm.classList
是 ['a', 'b', 'c']
而 vm.targetClassName
是 'b'
;
我该如何解决这个问题?
此问题无法在 Angular 当前版本 1.6.3 中重现。似乎是 Angular 1.3 的特定问题。虽然您可以通过在 ng-options
指令
上使用 track by
来解决此问题
<select ng-model="vm.targetClassName"
ng-options="item for item in vm.classList track by item">
</select>
我在 angular 中遇到 select 的问题。
HTML:
<select ng-model="vm.targetClassName" ng-options="item for item in vm.classList">
</select>
控制器:
vm.targetClassName = 'b';
generalResources.getClasses().then(setClasses);
function setClasses(classes) {
vm.classList = classes.value;
}
此代码块 vm.classList
之后包含字符串数组,例如 ['a', 'b', 'c']
我期望的是 select 有三个选项,而 'b'
是 selected 但是我只有 select 有三个选项,但什么都没有 selected.
我用 AngularJS Inspector 检查了这些值,它清楚地表明 vm.classList
是 ['a', 'b', 'c']
而 vm.targetClassName
是 'b'
;
我该如何解决这个问题?
此问题无法在 Angular 当前版本 1.6.3 中重现。似乎是 Angular 1.3 的特定问题。虽然您可以通过在 ng-options
指令
track by
来解决此问题
<select ng-model="vm.targetClassName"
ng-options="item for item in vm.classList track by item">
</select>