新しい角型ルータでは、CanReuseインターフェイスを削除しました。ルータの別の機能でこの機能(コンポーネントの再ロードを強制する)を実現する方法はありますか?角2の新しいルータrouterCanReuse
3
A
答えて
0
私は同じ問題(新しいコンポーネントの代わりにコンポーネントを再利用する)を持っていました。
現在の角度2バージョンには何も含まれていないため、私は回避策があります。
私の場合は、モーダルウィンドウを閉じるときにコンセントコンポーネントを破棄したいと思っています。
$('#mymodal_window').on("hide.bs.modal",()=>{
//destroy manually
for(var o of this.route.parent.children){
if(o.outlet=="myoutletname")
{
var s:any = o.snapshot;
s._routeConfig = null;
}
}
});
内部角度チェックスナップショットは、(それだけ_routeConfigを比較)等しく、コンポーネントを再利用するかどうか。私の回避策では、単にwindow-closeで_routeConfigを削除し、次回にコンポーネントの新しいインスタンスを作成します。
3
は今、あなたはこの
1.Defineカスタム戦略(この戦略の作品のようにそれを行うことができ、あなたはナビゲーションのルートを再レンダリングしたい場合は、ご自身で置き換えることができRouteReuseReuse戦略、がありますただ
export class CustomReuseStrategy implements RouteReuseStrategy {
shouldDetach(route: ActivatedRouteSnapshot): boolean { return false; }
store(route: ActivatedRouteSnapshot, detachedTree: DetachedRouteHandle): void {}
shouldAttach(route: ActivatedRouteSnapshot): boolean { return false; }
retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle { return null; }
shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {
if(future.routeConfig !== curr.routeConfig) {
return false;
} else if(Object.keys(future.params).length !== Object.keys(curr.params).length ||
Object.keys(future.queryParams).length !== Object.keys(curr.queryParams).length) {
return false;
} else {
return Object.keys(future.params).every(k => future.params[k] === curr.params[k]) &&
Object.keys(future.queryParams).every(k => future.queryParams[k] === curr.queryParams[k]);
}
}
}
2.Override /カスタム戦略を提供
NgModule({
imports: [...]
declarations: [...],
providers: [
{provide: RouteReuseStrategy, useClass: CustomReuseStrategy}
]
)}
export class AppModule {
}
)古いルータのような
関連する問題
- 1. 角2 RC4新しいルータ警告メッセージ
- 2. 新しいルータを使用した角2のネストナビゲーション
- 3. 角度2の新しいルータ:クエリパラメータの変更/設定
- 4. 認証を設定する新しいルータ(> = rc1)の角2
- 5. 角度2:ルータ
- 6. 2角度:ルータ
- 7. 角度2ルータ+角度-CLI
- 8. 角度2の新しいルータrc4の子のAUXルートが機能しない
- 9. 角度2ルータのナビゲーションは
- 10. 角度2 - ルータでのユニットテスト
- 11. 角度2ルータのタイトル
- 12. 角2のUIルータ認証
- 13. 角度2ルーティング - ルータRC3
- 14. 角度2ルータ/歴史
- 15. 角度2ルータindex.html Sharepoint
- 16. 角2(rc5)ルータ - サイドバーナビゲーション(子ルーティング)
- 17. Nativescriptと新しい角度2ルータの統合サンプルがありますか?
- 18. 角度2のビューを更新します。角度2の新しい角度
- 19. 角度2ルーティングが更新@角度/ルータと角度2 RC 4を使用してApache
- 20. 角2 - ルータの出口付きのテストコンポーネント
- 21. 角2ルータのインスタンシエーションの問題
- 22. 角度2のgetルータのparams
- 23. 角2のルーティング子供とルータのアウトレット
- 24. AspNetCore +角2:新しいプロジェクト
- 25. 角度2複数のルータ出口
- 26. ログインガードを備えた角度2のルータ
- 27. 角度2ルータ・アウトレット複数の名前
- 28. 角度2ルータのパスがIIS
- 29. ルータ出口の角度2遅延レンダリング
- 30. 戻る角度2ルータの動作
次のアップデートの1つで追加されます –
コンポーネントをリロードするための回避策はありますか? –