我正在通过Knockoutjs网站上的映射插件示例.
这是示例数据.
var data = {
name: 'Scott',
children: [
{ id : 1, name : 'Alice' }
]
}
Run Code Online (Sandbox Code Playgroud)
该示例显示如何覆盖其中一个子项的映射,但如何更改基础对象的映射.
例如,如果我想向Scott添加"FavouriteChild"属性,我该怎么办?
我假设我需要在基本映射上使用create函数,但我无法在任何地方找到语法的示例.
var myChildModel = function(data) {
ko.mapping.fromJS(data, {}, this);
this.nameLength = ko.computed(function() {
return this.name().length;
}, this);
}
var mapping = {
'children': {
create: function(options) {
return new myChildModel(options.data);
}
}
}
var viewModel = ko.mapping.fromJS(data, mapping);
Run Code Online (Sandbox Code Playgroud)
编辑:从下面接受的答案我发现这是工作
<span data-bind='text: AdditionalProperty'>
Run Code Online (Sandbox Code Playgroud)
淘汰赛代码
var mapping = {
create: function (options) {
//customize at the …Run Code Online (Sandbox Code Playgroud) knockout.js ×1