我试图返回一个可观察的属性,但似乎缺少了一些东西。
self.SelectedAccountTypeID = ko.computed(function () {
return self.selectedAccountType.AccountTypeID();
});
我正在尝试返回selectedAccountType的AccountTypeID属性,但这不起作用
当我尝试
self.SelectedAccountTypeID = ko.computed(function () {
return self.selectedAccountType();
});
它有效,但返回一个javascript对象
这是摆弄代码
http://jsfiddle.net/qafrD/
最佳答案
这是因为self.selectedAccountType
是可观察的含义,您需要像调用函数一样调用它以检索其当前值。但是,“ AccountTypeID”属性不是可观察到的,因此在此不需要括号。
self.SelectedAccountTypeID = ko.computed(function () {
// Retrieve the value of the observable
var selectedAccountType = self.selectedAccountType();
// The value may be "undefined" or "null" if there has not yet been
// anything stored in the observable
if (selectedAccountType && typeof selectedAccountType.AccountTypeID != "undefined") {
return selectedAccountType.AccountTypeID;
}
// Return a default value otherwise
return null;
});
演示:http://jsfiddle.net/qafrD/1/