0

ko.mapping プラグイン create 関数を使用して、計算されたオブザーバブルを階層ビューモデルに追加しようとしています。しかし、関数は最上位の「子」配列でのみ機能します! コードは次のとおりです。

Children:[{
    Name: "Page 1",
    Children: [ {
        Name: "Page 1 > 1",
        Children: [{
        Name: "Page 1 > 1 > 1",
        Children: []
    }
,{
        Name: "Page 1 > 1 > 2",
        Children: []
    }
]
    }
    ]
},
{
    Name: "Page 2",
    Children: [
    {
        Name: "Page 16",
        Children: []
    }
    ]
},
{
    Name: "Page 3",
    Children: [
    {
        Name: "aaaaa",
        Children: []
    }
]

私の機能は次のとおりです

     var computed = function (data) {
                                var self = this;
                                ko.mapping.fromJS(data, {}, self);
                                self.Uri = ko.computed(function () {
                                    console.log(self.Name());
                                    return self.Name() + " Something";
                                });
                            };

     var mapping = {
                    'Children': {
                        create: function (o) {
                            return new computed(o.data);

                        }
                    }
                };

ko.mapping.fromJS(data, mapping, vm);

「計算された」関数をすべての「子」配列で実行する方法はありますか? ありがとう。

4

1 に答える 1