[英]How to bind property on parent object with knockoutjs?
I'm developing a application with knockout.js framework. 我正在使用knockout.js框架开发一个应用程序。 I have one viewmodel like that:
我有一个这样的viewmodel:
var MyViewModel= {
Id: ko.observable(),
CountryCode: ko.observable(),
NormalizedAddress:
{
COUNTRY_CODE: ko.computed(function () { return this.CountryCode(); }),
Street: ko.observable(),
ZipCode: ko.observable(),
AreaCode: ko.observable(),
Town: ko.observable(),
Description: ko.observable()
}
When I run my application, I obtain one exception like that: 当我运行我的应用程序时,我得到一个例外:
0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'CountryCode'
0x800a01b6 - JavaScript运行时错误:对象不支持属性或方法'CountryCode'
Can you help me to resolve my problem? 你能帮我解决一下我的问题吗?
Thank you a lot, Marco 非常感谢,Marco
I resolved my problem using subscribing feature of knockout. 我使用淘汰赛的订阅功能解决了我的问题。
Now my code is like that: 现在我的代码是这样的:
var MyViewModel= {
Id: ko.observable(),
CountryCode: ko.observable(),
NormalizedAddress:
{
COUNTRY_CODE: ko.observable(),
Street: ko.observable(),
ZipCode: ko.observable(),
AreaCode: ko.observable(),
Town: ko.observable(),
Description: ko.observable()
}
}
MyViewModel.CountryCode.subscribe(function (newValue) {
MyViewModel.NormalizedAddress.COUNTRY_CODE(newValue);
});
So I can change the value when CountryCode property is changed. 所以我可以在CountryCode属性更改时更改值。
Thanks 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.