次のレイアウトのシングルページアプリで作業しています。
画面に読み込まれる要素を管理するためにBackbone.jsルーターを使用しています。
var AppRouter = Backbone.Router.extend({
routes: {
"" : "list",
"content1" : "content1",
"content1/cont3": "cont3"
},
list: function() {
var list = new List().render().$el; //view
$("#List").html(list);
},
content1: function(){
var cont1 = new Content1().render().$el; //view
$("#Content1").html(cont1);
},
content3: function(){
var cont3 = new Content3().render().$el; //view
$("#Cont3").html(cont3);
}
});
#Listのリストアイテムをクリックするたびに、#Content1が生成され、#Content1のブロックでクリックすると、#Cont3が表示されます。
私が直面している問題は、たとえば、アドレスがlocalhost / content1のときに、何らかの理由でページを更新した場合です。#Listの要素が消えます。
#Listのコンテンツは、URLが何であるかに関係なく、ロード時に常に存在し、#Content1のコンテンツと同様に存在するようにします。バックボーンルーターを使用してこれを実現する方法はありますか?
ありがとう