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

データをthis.Itemsに直接プッシュする必要があります。

this.Items()は、observableArrayのコンテンツを返します。

于 2013-02-21T17:59:21.143 に答える