2

私はbackbone+requireを備えたアプリケーションの開発を始めています。モデルの同じインスタンスを複数のビュー間で共有したいと思います。モデルをシングルトンとして定義したため、すべてのビューがモデルの同じインスタンスにアクセスします。

私は2つのオプションを評価しました:

1.ビューを伝達するためのパラメーターとしてモデルのインスタンスでイベントを使用します

2.ビュー間でモデルの同じインスタンスを共有します。

モデルに新しい行を追加して、2番目のオプションを選択しました。

define(['Underscore','Backbone'], 
function(_, Backbone) {
    var Experience = Backbone.Model.extend({
        defaults: {
            'id' : 1,           
            'date' : '2012-10-11 '
        }
    });
     if (this.model === undefined)   return  new Experience();
});

次に、モデルをビューにバインドします

define([ 'jQuery','Underscore','Backbone','models/experience'
], function($, _, Backbone, Experience){
  var MyView1 = Backbone.View.extend({     
            initialize: function () {               
                this.model = Experience;
                ....

このように、このモデルのすべてのビューがそれを共有します。

バックボーンでモデルのインスタンスを共有するためのより良い方法はありますか?イベントとインスタンスをパラメーターとして使用する方がよいでしょうか?

4

1 に答える 1

0

私見シングルトンはあなたの場合に行く方法です。

ビューにインスタンスを渡すことは、多くのモデル間で共有される非常に一般的なビューの場合に役立ちますが、私が見る限り、それはあなたのケースではありません。

于 2012-10-11T14:43:33.203 に答える