我正在尝试将 json 项添加到可观察数组中,并在foreach
渲染中显示出来。但是当我尝试使用item.property()
语法访问该项目时,它会失败,但仅适用于初始绑定项目。用代码更好地解释......
JS:
var data = { colors: []};
data.colors.push({title: 'blue' });
var vm = ko.mapping.fromJS(data);
ko.applyBindings(vm);
vm.colors.push({ title: 'red' });
$("#out").html("<br/>colors are ...<br/>");
$.each(vm.colors(), function(i, clr) {
$("#out").append(clr.title() + "<br/>");
});
输出:(注意,“红色”没有吐出来:/)
blue
red
colors are ...
blue
演示:http: //jsbin.com/ivacuw/7/edit
我也试过做vm.colors( [ { title: 'red' }] )
而不是vm.colors.push(...)
,但同样的问题。错误Uncaught TypeError: Property 'title' of object #<Object> is not a function