0

私はこのようなビューモデルを持っています、

        function viewModel() {
            this.Items = ko.observable({ A : 1, B: 2 });
            this.Items.X = 4;
            this.Items.Y = 5;
        }

        ko.applyBindings(new viewModel());

私はこのような値を出力しています、

        <span data-bind="text: $root.Items['A']"></span>
        <span data-bind="text: $root.Items['B']"></span>
        <span data-bind="text: $root.Items['X']"></span>
        <span data-bind="text: $root.Items['Y']"></span>

X と Y の値は表示されますが、A と B の値は空ですか?

4

1 に答える 1

2

観察されるオブジェクトではなく、観察可能な関数の一部として X と Y を設定しています。

function viewModel() {
   this.Items = ko.observable({ A : 1, B: 2 });
   this.Items().X = 4;
   this.Items().Y = 5;
}

ko.applyBindings(new viewModel());

this.Items() は、オブジェクトへのアクセスを提供します。

<span data-bind="text: $root.Items()['A']"></span>
<span data-bind="text: $root.Items()['B']"></span>
<span data-bind="text: $root.Items()['X']"></span>
<span data-bind="text: $root.Items()['Y']"></span>
于 2013-02-21T01:43:02.027 に答える