2

したがって、データをREST APIに保存する関数を作成するために使用しているバックボーンコレクションがあるという問題があります。データがサーバーに保存され、モデルが現在のコレクションに追加されますが、コレクションの追加イベントは発生しません。以下はコードのスニペットです ビューの初期化関数

intialize : function() {
        this.listenTo(this.collection, 'add', this.updateList);
    },      

updateList 関数は、コンソール ログのみを実行します。コレクションを使用してデータを保存するビュー関数は次のとおりです。

cards = this.collection;
        debugger
        cards.create(data, {
            success : function(model, response) {
                console.log("success on saving card");
                console.log(response);
                console.log("Updating list");
                console.log(cards);
            },
            error : function(model, response) {
                console.log("error on saving card");
                console.log(model);
                console.log("response");
                console.log(response);
            }
        })
        return false;
4

2 に答える 2

1

ビューで次のコードを試してください。

initialize: function() {
    this.collection.on('add', this.updateList, this);
}

または:

var someCollection = new SomeCollection();
var view = new SomeView({collection: someCollection});
view.listenTo(someCollection, 'add', view.updateList);
于 2013-09-27T20:45:24.163 に答える
0

this.model.on('change', doAction, this);ビュー内で: を使用しないのはなぜですか? 私が正しく理解していれば、モデルが変更されているため、これはより良い解決策です。さらに、ListenTo() が On() 関数よりも必須である場所がどこにも見つかりませんでした。どこで見たのか教えていただけますか?

于 2013-09-28T19:00:42.130 に答える