愉快的夜晚!在我的Aurelia-App中,我使用viewModel通過navigationStrategy處理各種視圖(讀取路徑參數並相應地設置視圖)。Aurelia在導航時不'刷新'vm
導航的運作baiscally好,然而有一個問題:
當我一直是基於同一個視圖模型之間的路線導航,視圖模型不「刷新」。只有在首先導航到具有不同viewModel的不同路線,然後返回到預定路線時,纔會按預期顯示內容。
看起來組件的生命週期鉤子沒有踢入。有什麼辦法可以手動觸發unbind()和detached()嗎?還是有更好的方式來做一般的事情?
此外路由配置似乎有點奇怪。當我拿走moduleId時,應用程序崩潰,當我拿走layoutViewModel時,數據未綁定到視圖。我現在的解決方法是分配一個空的viewModel +一個空模板。我使用這個錯誤嗎?
非常感謝!
configureRouter(config, Router) {
var getModelStrat = (instruction) => {
instruction.config.layoutView = "pages/templates/"+instruction.params.model+".html"
}
config.addAuthorizeStep(AuthorizeStep);
config.title = 'Aurelia';
config.map([
{
route: 'detail/:model/:id?',
name: 'detail',
moduleId: 'pages/empty',
layoutViewModel: 'pages/detail',
auth: true,
navigationStrategy: getModelStrat
},
{...}
]);
}