2

バックボーンに頭を悩ませようとしていて、次の障害にぶつかるまでうまくいっていたので、これは間違っていると思います。

次のコードには、モデルとコレクションがあります。コレクションは、値を取得bb.model.Settingsする関数と呼ばれchangethemeます。ここまでの値を取得しましたが、このアイテムを保存するときに、モデルに渡す必要がありますか? モデルで保存機能を呼び出そうとしていますが、実際にこれが必要なのか疑問に思っています。とにかく失敗し続けます。コレクションを保存するだけですか、これを保存する最善の方法は何ですか

bb.model.Setting = Backbone.Model.extend(_.extend({    
    defaults: {
        theme: 'e'
    },

    initialize: function() {
        var self = this
        _.bindAll(self)
    },
    save: function() {
        var self = this
        _.bindAll(self)
    },
}))


bb.model.Settings = Backbone.Collection.extend(_.extend({  
    model:  bb.model.Setting,
    localStorage: new Store("settingb"),

    initialize: function() {
        var self = this
        _.bindAll(self)
    },
    changetheme: function(value) {
        var self = this
        _.bindAll(self)
        this.remove
        this.model.save() 
    },
}))
4

1 に答える 1

2

このフィドルをチェックしてみてください。コードにいくつかのエラーがありました。

http://jsfiddle.net/8gDqb/1/

これがjs部分です。完全な動作例については、フィドルを参照してください。

var bb = {};
bb.model={};

bb.model.Setting = Backbone.Model.extend({    
    defaults: {
        theme: 'e'
    },

    initialize: function() {
        var self = this
        //_.bindAll(self) // no longer necessary with backbone.js
    },
    save: function() {
        var self = this
        //_.bindAll(self) // no longer necessary with backbone.js
    },
});


bb.model.Settings = Backbone.Collection.extend({  
    model:  bb.model.Setting,
    //localStorage: new Store("settingb"),

    initialize: function() {
        var self = this
        //_.bindAll(self) // no longer necessary with backbone.js
    },
    changetheme: function(value) {
        var self = this
        _.bindAll(self)
        //this.remove
        //_.bindAll(self) // no longer necessary with backbone.js
    },
});

また、ネットでバックボーンに関する古いハウツーを読んでいる場合に備えて、bindAll はもう必要ありません。それはかなり長い間必要ではありませんでした。

于 2012-10-29T20:49:34.020 に答える