我有这个viewmodel和一个向其添加数据的函数,
function viewModel() {
this.loadData = function() {
this.Items().push('X');
this.Items().push('Y');
};
this.Items = ko.observableArray(['A', 'B']);
}
var vm = new viewModel();
ko.applyBindings(vm);
vm.loadData();
alert(vm.Items());
我正在尝试打印Items数组中的值,但是从不显示X和Y.虽然警报弹出A,B,X和Y.我做错了什么?
<div data-bind="foreach: {data: Items, as: 'item' }">
<span data-bind="text: item"></span>
</div>
感谢。
答案 0 :(得分:1)
this.Items()
公开ko.observableArray()
的基础数组,这只是一个普通的数组。你需要使用这个:
this.Items.push('X');
this.Items.push('Y');
答案 1 :(得分:0)
您应该将数据直接推送到this.Items。
this.Items()返回observableArray的内容。