3

バックボーンは特定のイベントに対応する2つの方法を提供するので、私は一般的なコンセンサスが何であるか疑問に思いました。これは非常に一般的な状況です。ページにリンクがあります。ページにhrefを設定してルーティングできるため、ルーターは次のように関数を呼び出して処理できます。

HTML

 <a href='#posts/2' class='handleInView'>Item 2</a>

JS

var AppRouter = Backbone.Router.extend({
        ルート:{
            "posts /:id": "getPost"
        }
    });

または、次のようにビューでイベントに応答できます。

var MyView = Backbone.View.extend({
  ..。
  イベント:{
    "click .handleInView": "open"、
  }、

  ..。

  開く:function(){
      ..。
  }

});

ルートが履歴と直接リンクの追加の利点を提供することは知っていますが、パフォーマンスの観点とコードレイアウトの観点から、履歴を気にしない場合のより良いアプローチは何ですか。

私のルートは、すべてのインタラクションを見ることができる単一の場所である可能性がありますが、非常に迅速に乱雑になる可能性もあります。

4

3 に答える 3

1

履歴やブックマークを気にしない場合、イベントの副作用は少なく (人々はそれらをブックマークしようとせず、履歴に干渉しません)、実装と処理がより簡単/高速になります。

パフォーマンスに関しては、どちらもわずかに高速です(ただし、実際にはどちらの方法も問題になるほど遅くはありません)。

于 2012-12-31T20:19:15.613 に答える