【发布时间】:2014-10-23 16:23:39
【问题描述】:
当在剔除映射中使用“create”选项时,我们会将数组设为可观察数组。 但是我们如何让 observable 数组中每个对象的属性成为 observable 呢?
在淘汰文档的这个例子中,children 数组是一个可观察的数组,但我想让每个对象字面量中的所有元素(如 id、name)也成为可观察的。我们如何做到这一点。只需在创建块中的每个新对象上添加一个ko.observable 即可?
var data = {
name: 'Graham',
children: [
{ id : 1, name : 'Lisa' }
]
};
// Your custom data model
var myChildModel = function (data) {
this.id = data.id;
this.name = data.name;
};
var mapping = {
'children': {
create: function(options) {
return new myChildModel(options.data);
}
}
};
var viewModel = ko.mapping.fromJS(data, mapping);
【问题讨论】:
标签: knockout.js knockout-mapping-plugin