相关疑难解决方法(0)

将属性添加到使用Knockout JS映射插件创建的视图模型

我正在通过Knockoutjs网站上的映射插件示例.

这是示例数据.

Knockout JS Mapping插件

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

34
推荐指数
2
解决办法
2万
查看次数

标签 统计

knockout.js ×1