我正在使用 knockout-kendo.js 将 knockout.js 绑定到剑道网格。如果您绑定对象的第一级属性,那么它工作正常。这是一个示例 - http://jsfiddle.net/rniemeyer/jZtg5/
在上面的示例中,项目属性是在视图模型中定义的(即 ViewModel.Items)
但是,如果您使用对象的二级属性将其绑定到剑道网格,则它不起作用。这是绑定不起作用的示例 - http://jsfiddle.net/thakkar/QhF2W/3/
在这个例子中,items 属性没有直接在视图模型中定义。相反,它是视图模型中使用的对象的属性。(即 ViewModel.obj.Items)
var Item = function(id, name, type) {
this.id = id;
this.name = ko.observable(name);
this.type = type;
};
var vm2 = function() {
this.items = ko.observableArray([
new Item(1, "one", "a"),
new Item(2, "two", "b"),
new Item(3, "three", "a")
]);
var ViewModel = function() {
this.obj = ko.observable(new vm2())
};
ko.applyBindings(new ViewModel());