Я использую angular 2.0.0
, и у меня есть такой URL:
http://localhost:4200/?sptoken=MY_TOKEN#/resetPassword/
Я хочу получить MY_TOKEN
от этого. Я перепробовал все, что смог найти здесь, но получил только "undefined
".
Вторая проблема заключается в том, что я использую стратегию определения местоположения хэштега, и если я получаю такой URL-адрес, он преобразуется в http://localhost:4200/#/resetPassword/ (строка запроса исчезла), единственный раз, когда я мог получить доступ к этому токену, находится в основном компоненте, прежде чем он будет преобразован, но я не знаю, как его получить, большинство из того, что я нашел, относятся к параметрам запроса матричной нотации.
У вас есть предложения, как я могу решить эту проблему?
Это мой код:
export class ResetPasswordComponent implements OnInit {
constructor(private route: ActivatedRoute) {
console.log(this.route.snapshot.queryParams['sptoken']); // when i don't use
//HashLocationStrategy it logs the token
}
}
export class AppComponent implements OnInit {
constructor(private router: Router, public configService: ConfigService, private cookieService: CookieService,private route: ActivatedRoute) {
console.log(this.route.snapshot.queryParams['sptoken']);
}
}
И мои маршруты:
const appRoutes: Routes = [
{path: UrlPaths.HELLO, component: HelloComponent, canActivate: [PrivatePageGuard]},
{path: UrlPaths.LOGIN, component: LoginComponent},
{path: UrlPaths.MAIN_PAGE, component: AppComponent},
{path: UrlPaths.FORGOT_PASSWORD, component: ForgotPasswordComponent},
{path: UrlPaths.RESET_PASSWORD, component: ResetPasswordComponent}
];
export const appRoutingProviders: any[] = [];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
export const UrlPaths = Object.freeze({
LOGIN: 'login',
HELLO: 'hello',
FORGOT_PASSWORD: 'forgotPassword',
RESET_PASSWORD: 'resetPassword',
MAIN_PAGE: ''
});
Я также попытался получить токен в основном компоненте, используя этот URL: http://localhost:4200/?sptoken=MY_TOKEN#
, но происходит то же самое
sptoken
вы устанавливаете его с помощью _2 _ ??? - person micronyks   schedule 08.10.2016