Knockout自定义绑定创建功能

时间:2013-04-23 11:38:19

标签: knockout.js custom-binding

我想创建一个淘汰赛自定义绑定(所以我可以添加一个计算的observable),就像这个例子一样:

var mapping = {
    'children': {
        create: function(options) {
            return new myChildModel(options.data);
        }
    }
}

问题是,我的viewModel是实际的数组(根)。在此示例中,不是子项属性为“子项”。 所以我需要这样的东西:

var mapping = {
    'root': {
        create: function(options) {
            return new myChildModel(options.data);
        }
    }
}

我怎样才能实现这一目标? 谢谢。

1 个答案:

答案 0 :(得分:0)

难道你不能只使用插件的法线贴图功能吗?

var viewmodel = ko.observableArray([]);
ko.utils.arrayForEach(options.data, function(data) {
    viewmodel.push(new myChildModel(data));
}

虽然我个人不会让你的视图模型化数组,但是在视图模型上使数组成为属性,如果你想在将来添加更多属性,它会给你更大的灵活性。