4

我正在开发一个带有 knockout.js 框架的应用程序。我有一个这样的视图模型:

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 运行时错误:对象不支持属性或方法“CountryCode”

你能帮我解决我的问题吗?

非常感谢你,马可

4

1 回答 1

0

我使用淘汰赛的订阅功能解决了我的问题。

现在我的代码是这样的:

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);
});

因此,当 CountryCode 属性更改时,我可以更改该值。

谢谢

于 2016-03-04T16:50:33.867 回答