我正在使用knockout.js框架开发一个应用程序.我有一个这样的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() }
当我运行我的应用程序时,我得到一个例外:
0x800a01b6 – JavaScript runtime error: Object doesn’t support property
or method ‘CountryCode’
你能帮我解决一下我的问题吗?
非常感谢,
马尔科
解决方法
我使用
subscribing feature淘汰赛解决了我的问题.
现在我的代码是这样的:
var Myviewmodel= { Id: ko.observable(),normalizedAddress: { COUNTRY_CODE: ko.observable(),Description: ko.observable() } } Myviewmodel.CountryCode.subscribe(function (newValue) { Myviewmodel.normalizedAddress.COUNTRY_CODE(newValue); });
所以我可以在CountryCode属性更改时更改值.
谢谢