KnockoutJS - 计算可处理和 js 对象
KnockoutJS - computed abservable and js object
我正在尝试返回可观察对象的属性,但似乎缺少一些东西。
self.SelectedAccountTypeID = ko.computed(function () {
return self.selectedAccountType.AccountTypeID();
});
我正在尝试返回选定帐户类型的帐户类型 ID 属性,但这不起作用
当我尝试时
self.SelectedAccountTypeID = ko.computed(function () {
return self.selectedAccountType();
});
它可以工作,但返回一个JavaScript对象
这是对代码的摆弄http://jsfiddle.net/qafrD/
你走在正确的轨道上,因为你的selectedAccountType
是一个可观察的,你需要用selectedAccountType()
访问它的价值
所以正确的语法:self.selectedAccountType().AccountTypeID;
但是,由于self.selectedAccountType()
可能为空,因此您需要先检查一下,然后再访问其上的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/
相关文章:
- 查看JS对象的所有键,甚至是getter定义的键
- 在URL中传递JS对象
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- JS对象密钥序列
- 在ajax调用中阻止来自JS对象的函数
- 属性未添加到JS对象
- 将字符串转换为JS对象
- 使用lodash查找具有truthy值的JS对象的属性
- 将toString方法暴露给nashorn中的js对象
- JSON数组转换为JS对象数组
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- 设置1400个Raphael.js对象的不透明度动画会影响动画性能
- 以非ajax方式将js对象传递给mvc操作
- JS对象->来自jquery ajax的JSON提交->php迭代
- XMLHttpRequest发送JS对象
- 使用游标循环将JS对象添加到数组中
- 动态(重新)创建iframe内容不会重置Chrome中的JS对象
- 将JS对象数组转换为嵌套形式的最有效方法
- 在知道对象值的情况下,确定数组中JS对象的索引
- JS对象文字中的方法和子方法