将项目从observablearray复制到另一个observablearray

亚历克斯·扎霍罗德尼(Alex Zahorodniy)

我有2个observablearray。当我将项目从observablearray1复制到observablearray2并更改observablearray2的值时,observablearray1的更改也是如此。

var viewModel = (function() {
    var
        array1 = ko.observableArray(['John', 'Joe', 'Jim']),
        array2 = ko.observableArray();

    // copy
    array2(array1());
    array2()[2] = 'Mary';
    return {
        array1: array1,
        array2: array2
    }

})();

ko.applyBindings(viewModel);

console.log(viewModel.array1());
console.log(viewModel.array2());

http://jsfiddle.net/xveEP/69/

结果:
阵列1
约翰·

玛丽
阵列2
约翰·

玛丽

如何解决?谢谢

本杰明·格伦鲍姆(Benjamin Gruenbaum)

淘汰赛仍会跟踪依赖关系,因为它仍然是带有引用的数组observableArray这样做时array2(array1()),两个可观察对象仍引用相同的对象。

而是传递数组的副本(无需显式复制元素)。

array2(array1().slice(0));

小提琴

另外,KnockoutJS使用自己的slice方法填充observableArrays,您可以调用它

array2(array1.slice());

从文档:

slice-slice函数相当于本机JavaScript slice函数的observableArray(即,它从给定的开始索引到给定的结束索引返回数组的条目)。调用myObservableArray.slice(...)等效于在基础数组上调用相同的方法(即,myObservableArray()。slice(...))。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将项目从observablearray复制到另一个observablearray

来自分类Dev

绑定从另一个 observableArray 创建的 observableArray

来自分类Dev

将值从observableArray传递到另一个而不互相引用

来自分类Dev

xcode-将资产目录复制到另一个项目

来自分类Dev

将所有项目从QListWidget复制到另一个

来自分类Dev

xcode-将资产目录复制到另一个项目

来自分类Dev

将队列项目复制到另一个类对象中

来自分类Dev

将exe从一个项目复制到另一个项目的调试输出目录

来自分类Dev

我可以将AutoML模型从一个项目复制到另一个项目吗?

来自分类Dev

如何仅将新项目从一个列表复制到另一个

来自分类Dev

将项目从一个静态列表复制到另一个列表并还原

来自分类Dev

通过索引号将一个listview项目复制到另一个listview

来自分类Dev

如何将链接的库从code :: blocks项目复制到另一个项目?

来自分类Dev

如何将链接的库从code :: blocks项目复制到另一个项目?

来自分类Dev

从敲除中的另一个observableArray内部的observableArray中移除一个元素

来自分类Dev

我如何将一个新项目推送到一个新的github而不将其复制到另一个项目中

来自分类Dev

将另一个ObservableArray中的值合并到KnockoutJS中的现有observableArray中

来自分类Dev

将另一个ObservableArray中的值合并到KnockoutJS中的现有observableArray中

来自分类Dev

将像素从一个图像复制到另一个

来自分类Dev

C:将一个char *指针复制到另一个

来自分类Dev

将文件从一个目录复制到另一个

来自分类Dev

Git将一个分支复制到另一个

来自分类Dev

将元素从一个内存复制到另一个

来自分类Dev

将数据从一个hbase表复制到另一个

来自分类Dev

如何将一个画布的内容复制到另一个?

来自分类Dev

将Android Activity从一个应用复制到另一个

来自分类Dev

使用PIL将一个图像复制到另一个图像

来自分类Dev

将数据从一个表复制到另一个表

来自分类Dev

将内容从一个元素复制到另一个

Related 相关文章

  1. 1

    将项目从observablearray复制到另一个observablearray

  2. 2

    绑定从另一个 observableArray 创建的 observableArray

  3. 3

    将值从observableArray传递到另一个而不互相引用

  4. 4

    xcode-将资产目录复制到另一个项目

  5. 5

    将所有项目从QListWidget复制到另一个

  6. 6

    xcode-将资产目录复制到另一个项目

  7. 7

    将队列项目复制到另一个类对象中

  8. 8

    将exe从一个项目复制到另一个项目的调试输出目录

  9. 9

    我可以将AutoML模型从一个项目复制到另一个项目吗?

  10. 10

    如何仅将新项目从一个列表复制到另一个

  11. 11

    将项目从一个静态列表复制到另一个列表并还原

  12. 12

    通过索引号将一个listview项目复制到另一个listview

  13. 13

    如何将链接的库从code :: blocks项目复制到另一个项目?

  14. 14

    如何将链接的库从code :: blocks项目复制到另一个项目?

  15. 15

    从敲除中的另一个observableArray内部的observableArray中移除一个元素

  16. 16

    我如何将一个新项目推送到一个新的github而不将其复制到另一个项目中

  17. 17

    将另一个ObservableArray中的值合并到KnockoutJS中的现有observableArray中

  18. 18

    将另一个ObservableArray中的值合并到KnockoutJS中的现有observableArray中

  19. 19

    将像素从一个图像复制到另一个

  20. 20

    C:将一个char *指针复制到另一个

  21. 21

    将文件从一个目录复制到另一个

  22. 22

    Git将一个分支复制到另一个

  23. 23

    将元素从一个内存复制到另一个

  24. 24

    将数据从一个hbase表复制到另一个

  25. 25

    如何将一个画布的内容复制到另一个?

  26. 26

    将Android Activity从一个应用复制到另一个

  27. 27

    使用PIL将一个图像复制到另一个图像

  28. 28

    将数据从一个表复制到另一个表

  29. 29

    将内容从一个元素复制到另一个

热门标签

归档