不幸的是我的问题让我的绑定工作正常。
这是我的ViewModel,它使用JSON对象列表进行初始化:
function ViewModel() {
this.chains = ko.observableArray();
this.selectedChain = ko.observable();
}
var model = new ViewModel();
$.ajax({
url: "/GetAll/Chains",
success: function (result) {
model.chains(result);
ko.applyBindings(model);
}
});
我视图中的绑定如下所示:
<select data-bind = "
options: chains,
optionsText: function(item) { return item.BusinessModel['Name'] },
value: selectedChain"></select>
直到这里一切正常。但是现在我遇到了selectedChain
属性访问不同元素的问题。 (例如名称或ID)。
<input data-bind = "text: selectedChain.Id" /> // not working
我无法访问这些属性的原因是什么?在调试器中,我可以看到初始化时列表中的对象就像被删除一样,但是所选的值丢失了数据!?
感谢您的帮助!
答案 0 :(得分:3)
selectedChain 对象是一个可观察对象。因此,要获取可观察的内容,例如“Id”属性,您必须添加“()”,如下所示:
<input data-bind = "text: selectedChain().Id" />