0

これはかなり基本的なことかもしれませんが、私はそれを理解できないようです。問題は

監視可能な配列「self.product」を持つビュー モデルがあり、以下に示すように、ネストされたモデルからアクセスしたいと考えています。これを実行すると、製品が存在しないというエラーが表示されます。コードは含めていませんが、データを取得して「製品」にプッシュする ajax 呼び出しがあります。また、関数 'test' でクリック バインディングを使用すると、値が出力されます。

「self」のスコープの問題かもしれませんが、マークアップの foreach バインディングで「product」配列を使用しているため、self.product ... を var product に変更することはできません。どうすればこれを達成できますか?

var viewModel = function () {
        var self = this;
        self.product = ko.observableArray([]);
var orderItem = function (data) {
            var self = this;
            self.PlayDuration = ko.computed(function () {
                var foo  = self.product()[0].something();
                return foo;
            });

        }
self.updateTotals = function () {
            console.log(self.product()[0].something());
        }
});
4

1 に答える 1