我有一个像这样的视图模型,
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值为空?
答案 0 :(得分: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>