在Knockout JS中更改视图模型的所有项目

时间:2017-05-29 20:21:48

标签: javascript knockout.js

这是淘汰JS中列表的JS fiddle。我想将列表中的所有项目更改为:

addTransitions

但我不知道,因为我不知道如何在knockout JS中正确更改viewModel的项目。 在该特定示例中,我也不知道将事件添加到“全部更改”按钮的位置。 这是example where I managed to做的,但它有点不同,并没有将所有数组项作为可观察数据。

1 个答案:

答案 0 :(得分:1)

您可以将其包装成JSON,然后将其分配给变量。然后使用相同的方法ko.mapping.fromJS重新分配新对象:

....

var newPeople = 
{
  people: [
    {name:"Name1"},
    {name:"Name2"},
    {name:"Name3"}
]};

....

ko.applyBindings(viewModel);

function changeAll() {
  ko.mapping.fromJS(newPeople, viewModel);
}