0

我有这个视图模型和一个向它添加数据的函数,

        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>          

谢谢。

4

2 回答 2

1

this.Items()公开 的底层数组ko.observableArray(),它只是一个普通数组。你需要使用这个:

this.Items.push('X');
this.Items.push('Y');

演示

于 2013-02-21T17:56:40.123 回答
0

You should push the data directly to this.Items.

this.Items() returns the content of the observableArray.

于 2013-02-21T17:59:21.143 回答