1

エンティティを拡張して、ナビゲーション プロパティを必要とする計算オブザーバブルを作成しようとしています。

app.domain.indicador = function () {
    this.ValorMetaActual = ko.computed({
        read: function () {
            console.log(this.ValoresMeta); //navigation property: undefined
            return 0;
        },
        deferEvaluation: true
    }, this);
};

問題は、オブザーバブルが作成されたときに、ナビゲーション プロパティがまだ存在しないことです。

これを修正するにはどうすればよいですか?

4

2 に答える 2

1

これはバグで、v 0.76.3 で修正されました。これで問題が解決するかどうかお知らせください。...そして、見つけてくれてありがとう。

于 2012-12-12T01:28:02.923 に答える
0

問題は、計算された値がページのどこかに表示されていて、未定義として表示されていることだと思います。ナビゲーション プロパティ ( ) をオブザーバブルにすると、Knockout はが最終的に割り当てられるたびthis.ValoresMetaに の表示値を更新します。ValorMetaActualValoresMeta

app.domain.indicador = function () {
    this.ValoresMeta = ko.observable(0);
    this.ValorMetaActual = ko.computed({
        read: function () {
            console.log(this.ValoresMeta());
            return 0;
        },
        deferEvaluation: true
    }, this);
};

上記のコード0は、ValoresMeta のデフォルト値として割り当てます。他のデフォルト値が必要な場合もありますが、計算が未定義にならないようにデフォルト値を設定する必要があります。

于 2012-12-11T17:02:39.890 に答える