したがって、まだレンダリングされていない場合にのみ、サイドメニューのアイテムビューをレンダリングしたいと思います。これは非常に重要ではないため、重要でない再レンダリングを強制しません。
領域でまだレンダリングされていない場合、ビューをレンダリングする解決策を考え出しました。
ルーターによって呼び出されるコントローラー オブジェクトの次の例を見てください。
Admin.showIndex= function(){
if (!MyApp.layout.sidepanel.currentView || !(MyApp.layout.sidepanel.currentView instanceof AdminSidePanel)){
MyApp.layout.sidepanel.show(new AdminSidePanel());
}else{
alert("Already rendered sidepanel!");
}
// More stuff!
}
これは良い方法ですか?それはこのように動作します:
- ページ /#admin を F5 で更新すると、サイドパネルがレンダリングされます。
- たとえば /#admin/submenu に移動して #admin に戻ると、サイドパネルが再びレンダリングされません。