0

次のコードがあります。

// viewModel
var cardViewModel = function (data) {
    var self = this;
    ko.mapping.fromJS(data, {}, self);
    self.isNew = ko.observable(false);
    // etc
}
// mapping
var mapping = {
    create: function (options) {
        var innerModel = ko.mapping.fromJS(options.data, {
            'cards': {
                create: function (options) {
                    //debugger;
                    return new cardViewModel(options.data);
                }
            } // etc
        });
// data
var setData = dataservice.getSet();
var observableData = ko.mapping.fromJS(setData, mapping);

私のviewModel内に、次のようなものを追加したいと思います:

self.save = function() {
    var card = new cardViewModel(dataservice.save(this)) // works fine
    innerModel.cards.push(card) // doesn't work because I don't have access to innerModel from the card viewModel
}

現在、viewModel からイベントをトリガーし、innerModel からそれらをリッスンしていますが、これは少し面倒で、setViewModel から innerModel.sets() にアクセスする方法があるかどうかを確認したいと考えています。

4

1 に答える 1