アプリケーションでバックボーン、require.js、coffeescriptを使用しています。私のアプリをプログラミングすると、私はビューに問題があることを発見しました。私の英語のために申し訳ありません! =)バックボーン多数のイベントが同じロードビューで起動しました
私のDOMがある:私のアプリの
<div id="header"></div>
<div id="container"></div>
パート:
ルータ(「メッセージでIインスタンスおよびコール:
class AppRouter extends Backbone.Router
routes:
'': 'home'
'u/:user': 'user'
'events: 'events'
'messages': 'messages'
events:() ->
events = new EventsView
events.events()
messages:() ->
messages = new MessagesView
messages.messages()
class MessagesView extends Backbone.View
template: window.Handlebars.compile MessagesTpl
el : '#container'
events :
'click #test' : 'test'
test:() ->
console.log 'test'
messages:() ->
#fecth and bind render method on 'all'
class EventsView extends Backbone.View
template: window.Handlebars.compile EventsTpl
el : '#container'
events:() ->
#fetch and bind render method on 'all'
私は次のような問題を持っています")messagesView、私はフェッチを行い、レンダリングは正常に動作します。その後、ルータが別のルート(「イベント」)に移動してイベントビューを呼び出すと、同じことが起こり、ビューが正しくレンダリングされます。
しかし、経路 "メッセージ"で再度ナビゲートすると、イベント "テスト"が2回実行されます。 、各インスタンスにつき1回!
私がルータ$( "#container")を呼び出した場合、以前のインスタンスMessagesviewが問題を解決しましたが、私の解決策が本当に良いかどうかはわかりません。
私の恐れは、DOMが悪くなり負荷が高いということです。あなたはこれで何ができるのか知っていますか?
非常にありがとうございます!アルゼンチンからの挨拶!
アレハンドロ
非常に感謝!すばらしいです ! =) – AleVasta