おはようございます!私のAurelia-Appでは、viewModelを使用して、navigationStrategy(ルートパラメータを読み込み、それに応じてビューを設定)でさまざまなビューを処理しています。Aureliaはナビゲート時に「リフレッシュ」しません
私は同じViewModelに基づいているルート間を移動し続け、ViewModelには、「リフレッシュ」しません:
ナビゲーションは、しかし、一つの問題があり、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
},
{...}
]);
}