处理可以在KnockoutJS中提交/丢弃的可观察数组的最佳方法是什么?
我之前使用ProtectedObservable想法实现了这一点,但这是在单个数据记录上,而不是在数组上.
只是想知道如何最好地前进.我的项目需要所有电子邮件地址联系人的对话框和所选的列表.当它们从左侧的列表中添加时,它们将被删除并添加到右侧的列表中.
当按下"确定"按钮时,它们会被添加到"收件人:"字段中,但是当按下"取消"时,列表将恢复到之前的状态(之前可能已经填充过).
RP *_*yer 11
这样的事情怎么样: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;
}
Run Code Online (Sandbox Code Playgroud)
在该示例中,您将在"To"行上的可用用户数组,所选用户数组和用户数组中使用此数组.然后,取消按钮将每个阵列恢复到您拍摄最后一个快照的点.
| 归档时间: |
|
| 查看次数: |
2285 次 |
| 最近记录: |