4

knockout.js フレームワークを使用してアプリケーションを開発しています。私はそのようなビューモデルを1つ持っています:

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

アプリケーションを実行すると、次のような例外が 1 つ発生します。

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 に答える