【问题标题】:observableArray: push to source does not update UI (foreach) of copyobservableArray:推送到源不会更新副本的 UI(foreach)
【发布时间】:2013-02-16 09:55:10
【问题描述】:

我有一个可观察数组,我将它复制到另一个可观察数组,如下所示:

var source = ko.observableArray(),
    copy = ko.observableArray();

copy(source());
source.push('a'); // 'a' is added to the copy but not to the UI (foreach)

当我推送到源 (source.push('a')) 时,副本将包含新项目,但如果我将副本绑定到 foreach,则 UI 不会更新。如果我推送到副本,它将更新 UI (foreach)。

小提琴显示我的问题: http://jsfiddle.net/GvGkp/2/

【问题讨论】:

  • 这真的不是一个副本,因为它们最终都指向相同的底层结构。 (你本可以刚刚完成 var source=copy=ko.observableArray() 为什么要创建 2 个指向同一个数组的变量?

标签: knockout.js


【解决方案1】:

如果您希望两个可观察数组“指向”相同的数据,请使用

array2(array1);

在这种情况下,两个数组将同时更新(UI 也是)。这就是你想要的吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 2013-06-17
    • 2020-08-09
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多