【发布时间】:2021-05-21 11:01:36
【问题描述】:
我有一个 people 对象数组,其中每个对象(代表一个人)包含一个 roles 数组:
@observable people = [
{
name: 'Name1',
roles: [
'1',
'2'
]
},
{
name: 'Name2',
roles: [
'3',
'4'
]
}
]
我希望视图遍历并显示它们(例如repeat.for="role of roles")。但是,当 people 数组更新时,视图不会更新。
Angular-option 对我不起作用的示例代码:
<select name="roles" multiple class="ui fluid multiple dropdown">
<option value="">Roles</option>
<option selected.bind="accounts[2].roles.includes('1')" value="angular">Angular</option>
<option value="css">CSS</option>
<option value="design">Graphic Design</option>
<option value="ember">Ember</option>
</select>
当我初始化 people 数组以包含从一开始就带有 role '1' 的第三人称时,一切正常,但是当我动态添加相同的第三人称(例如通过按钮)时,它不会更新。
我知道如何通过collectionObservers 观察people 数组
this.subscription = this.bindingEngine.collectionObserver(this.people)
.subscribe(this.peopleChanged.bind(this))
但我对整个 this.people 数组不感兴趣,而是对 嵌套 数组 roles 数组 inside this.people 感兴趣。如何解决使用 obersers 观察数组中的数组的问题?
【问题讨论】:
标签: arrays aurelia fomantic-ui