选定值的属性访问问题

时间:2013-04-29 22:02:15

标签: knockout.js

不幸的是我的问题让我的绑定工作正常。

这是我的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

我无法访问这些属性的原因是什么?在调试器中,我可以看到初始化时列表中的对象就像被删除一样,但是所选的值丢失了数据!?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

selectedChain 对象是一个可观察对象。因此,要获取可观察的内容,例如“Id”属性,您必须添加“()”,如下所示:

<input data-bind = "text: selectedChain().Id" />