![](/img/trans.png)
[英](Angular2 RC5) How to create a bundle for each module using SystemJS that can be lazily loaded by the router?
[英]Using Angular 2 RC5 router, how can I navigate, given an ActivatedRouteSnapshot?
用戶無需登錄即可訪問我網站的某些部分。如果單擊下載按鈕並登錄,則下載將自動開始。 但是,如果他們單擊下載按鈕但未登錄,我想提示他們登錄。 他們登錄后,希望將他們直接發送回以前的路線。
當“匿名”用戶單擊下載按鈕時,將為他們提供一個模態,並提示您登錄。 如果他們決定登錄,我會將一些對象存儲在本地存儲中(正在考慮使用ActivatedRouterSnapshot
可以做什么?)。 登錄后,我將檢查本地存儲中是否在stashedRoute
下存儲了一個對象。 如果有的話,我將使用它來將其導航回其原始路線!
鑒於:
import { Router } from '@angular/router';
和
private someRoute: ActivatedRouterSnapshot;
constructor(private _router: Router) {}
我想要:
this._router.navigate(someRoute)
進行上述操作或獲得與存儲路線並重新導航至該路線相同的功能的語法是什么?
我認為您需要像歷史這樣的東西來返回路線,您可以使用下面描述的代碼
import {Component} from '@angular/core';
import {Location} from '@angular/common';
@Component(...)
class AppCmp {
constructor(private _location: Location) {
}
backClicked() {
this._location.back();
}
}
我有一個類似的問題,並通過以下方法解決了。 flatten
來自lodash,而route
是您的ActivatedRoute。 這不是很好,但目前可以使用。 您可能想使用flattenDeep
來容納深度嵌套的路由。
const route = flatten(route.pathFromRoot.map(r => r.url)).map(s => s.path);
this.router.navigate(route);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.