Javascript KnockoutJS可观测数组和计算可观测值

Javascript KnockoutJS可观测数组和计算可观测值,javascript,knockout.js,Javascript,Knockout.js,我有一个JSON数组、两个列表(由一个计算的可观察项填充)和一个选定项数组(JSON数组中的项ID) 所选项目保存在ObservalArray中,我希望一个列表中填充数组中的项目,另一个列表中填充数组中不包含的所有项目 这在初始化时效果很好,但是如果我尝试将项目添加到selected items数组中,更改不会反映在UI或两个列表数组中 有人能给我指出正确的方向吗?在您的示例中,您似乎把myViewModel拼错了 更改此项: myViewModel = new viewModel(); ko

我有一个JSON数组、两个列表(由一个计算的可观察项填充)和一个选定项数组(JSON数组中的项ID)

所选项目保存在ObservalArray中,我希望一个列表中填充数组中的项目,另一个列表中填充数组中不包含的所有项目

这在初始化时效果很好,但是如果我尝试将项目添加到selected items数组中,更改不会反映在UI或两个列表数组中


有人能给我指出正确的方向吗?

在您的示例中,您似乎把
myViewModel
拼错了

更改此项:

myViewModel = new viewModel();
ko.applyBindings(myViewModel);

viewModel.witnessArray.push(2);
为此:

var myViewModel = new viewModel();
ko.applyBindings(myViewModel);

myViewModel.witnessArray.push(2);
然后你的小提琴例子就可以了。我已经做了这些更改并更新了您的,它可以正常工作


您可能想研究一下knockout projections插件,它允许您以更高效的方式实现同样的目标。看看这个

啊。。。感谢您指出这一点并提供有关投影插件的提示:D@Tim没问题,伙计。很高兴我能帮忙
var myViewModel = new viewModel();
ko.applyBindings(myViewModel);

myViewModel.witnessArray.push(2);