gpt4 book ai didi

concurrency - Knockout Concurrency 插件能否跟踪新添加或删除的行?

转载 作者:行者123 更新时间:2023-12-02 02:15:31 27 4
gpt4 key购买 nike

我正在尝试在我的项目中使用 Knockout Concurrency 插件,目前我正在摆弄示例代码,但我没有让它工作:

https://github.com/AndersMalmgren/Knockout.Concurrency/wiki/Getting-started

ViewModel = function() {
this.name = ko.observable("John").extend({ concurrency: true});
this.children = [{ name: ko.observable("Jane").extend({concurrency: true })}, { name: ko.observable("Bruce").extend({concurrency: true })}];

this.getData = function() {
//Simulate backend data
var data = { name: "John Doe", children: [{ name: "Jane Doe"},{ name: "Bruce Wayne"}, { name: "New row"}]};

new ko.concurrency.Runner().run(this, data);
}
}

ko.applyBindings(new ViewModel());

http://jsfiddle.net/rCVk4/3/

没有任何反应,新添加的项目没有被插件跟踪,有人知道为什么吗?

最佳答案

感谢您试用我的插件,速度也非常快,我今天上传了代码!

该插件确实支持跟踪删除和添加的行。但是为了让它知道哪些行是什么,它需要你为它提供一个映射器

var mappings = {  
children: {
key: function(item) {
return ko.utils.unwrapObservable(item.id);
},
create: function(data) {
return { id: data.id, name: data.name };
}
}
};

名字children对应数组的名字。

Key 方法用于识别用作标识符的属性。

Create 方法用于创建新行(Added rows)。

您可以从 Github 下载 MVC3 示例以获得功能齐全的 Demo,也请试试这个 Fiddle

http://jsfiddle.net/7atZT/

关于concurrency - Knockout Concurrency 插件能否跟踪新添加或删除的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10885321/

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