[英]KnockoutJS - computed abservable and js object
我试图返回一个可观察的属性,但似乎缺少了一些东西。
self.SelectedAccountTypeID = ko.computed(function () {
return self.selectedAccountType.AccountTypeID();
});
我正在尝试返回selectedAccountType的AccountTypeID属性,但这不起作用
当我尝试
self.SelectedAccountTypeID = ko.computed(function () {
return self.selectedAccountType();
});
它有效,但返回一个javascript对象
这是一个带有代码http://jsfiddle.net/qafrD/的小提琴
您处于正确的轨道,因为您的selectedAccountType
是可观察的,因此您需要使用selectedAccountType()
访问其值
因此,正确的语法为: self.selectedAccountType().AccountTypeID;
但是,由于self.selectedAccountType()
可以为null,因此您需要先检查它,然后才能访问该AccountTypeID
上的AccountTypeID
:
self.SelectedAccountTypeID = ko.computed(function () {
if (self.selectedAccountType())
return self.selectedAccountType().AccountTypeID;
});
演示小提琴
这是因为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/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.