我的淘汰赛应用程序具有以下结构:
计算值是两个可观察值之和(comp1)
一个observableArray(默认为空白)
一组通过单独的viewModel函数推入observableArray的数据
我的问题在于,当将可计算的可观察值(comp1)推入数组时,在主视图中更新它时,它的值在表中显示时(通过单独的viewModel函数)不会改变。
我设置了一个Codepen,以更好地解释该问题,并使其更加清晰易懂,因为我真的不认为我已经很好地解释了该问题,仅通过文本进行解释有点复杂!
简而言之:(comp1)的值在主视图中更新时,不会在表内部更新(它是从observableArray生成的)。
如果您不确定有任何疑问,请询问,但是我认为,一旦查看Codepen,一切都应该更加清晰。
http://codepen.io/anon/pen/nwgGB
最佳答案
因为您要传递maths_total(self.maths_total()
)的展开值。这样,tableView
不知道该值何时更改。相反,您应该传递实际的可观察值:
self.table_totals.push(new tableView('column 1', 15, self.maths_total, 45));
然后检查
tableView
中的变量self.val_2 = ko.isObservable(val2) ? val2 : ko.observable(val2)
http://codepen.io/anon/pen/qFsgu
关于javascript - knockout 动态更新observableArray值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23492760/