私のルーターでは、インデックス関数を呼び出すためにルーター '#' を指定しました。これは、アプリが初めて読み込まれたときに機能します。ただし、移動してから戻ると、ビューはレンダリングされなくなります。これが私のルーターです:
CommunityApp.Routers.Main = Backbone.Router.extend({
routes: {
'': 'index',
'#': 'index',
},
initialize: function () {
this.communities = new CommunityApp.Collections.Communities();
this.communities.fetch();
},
index: function() {
console.log('index called');
view = new CommunityApp.Views.CommunitiesIndex({collection: this.communities});
$('#main').html(view.render().el);
}
});
「呼び出されたインデックス」をログに記録するため、関数が呼び出されていることがわかります。ただし、ビューは、localhost:3000/# に初めて移動したときにのみレンダリングされます。「#」に戻る別の場所をクリックすると、関数が呼び出されますが、CommunitiesIndex ビューが DOM に挿入されることはありません。
ありがとう