gpt4 book ai didi

knockout.js - KnockoutJS 是否支持 protected observable 数组?

转载 作者:行者123 更新时间:2023-12-04 06:47:11 25 4
gpt4 key购买 nike

处理可以在 KnockoutJS 中提交/丢弃的可观察数组的最佳方法是什么?

我以前用 ProtectedObservable 实现了这一点想法,但这是在单个数据记录上,而不是在数组上。

只是想知道如何最好地前进。我的项目需要所有电子邮件地址联系人的对话框和所选联系人的列表。当它们从左侧的列表中添加时,它们会被删除并添加到右侧的列表中。

当按下“确定”按钮时,它们会被添加到“收件人:”字段中,但是当按下“取消”时,列表将恢复到它们之前的状态(之前可能已经填充过)。

最佳答案

这样的事情怎么样:http://jsfiddle.net/rniemeyer/PAzVk/

这使用了一个支持“snapShots”的 observableArray。您可以保存底层数组的副本并在需要时恢复它。

ko.snapShotObservableArray = function(initialData) {
var _snapShot = initialData;
var result = ko.observableArray(initialData || []);

result.takeSnapShot = function() {
_snapShot = this().slice(); //take a copy of the underlying array
};

result.restoreSnapShot = function() {
this(_snapShot.slice());
}

return result;
}

在示例中,您将在可用用户数组、选定用户数组和“收件人”行上的用户数组上使用它。然后,取消按钮将每个阵列恢复到您上次拍摄快照的位置。

关于knockout.js - KnockoutJS 是否支持 protected observable 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6263206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com