我正在努力捕獲通過第三方API傳遞給我的angular2應用程序的URL查詢字符串參數。網址爲http://example.com?oauth_token=123Angular2組件路由器:捕獲查詢參數
如何在組件內捕獲「oauth_token」的值?我很高興地使用組件路由器進行基本路由,它只是查詢字符串。我做了幾次嘗試,我的最新接收組件看起來像
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
template: ''
})
export class TwitterAuthorisedComponent implements OnInit {
private oauth_token:string;
constructor(private route: ActivatedRoute) {}
ngOnInit() {
console.log('the oauth token is');
console.log(this.route.snapshot.params.oauth_token);
}
}
任何意見表示讚賞。
**更新
如果我註釋掉我的所有路由但是查詢參數會堅持,我一時包括查詢參數頁面加載取出的路線。下面是我的路線文件的一個簡化的副本與一條路線
import {NavigationComponent} from "./navigation/components/navigation.component";
import {TwitterAuthorisedComponent} from "./twitter/components/twitter-authorised.component";
import { provideRouter, RouterConfig } from '@angular/router';
export const routes: RouterConfig = [
{ path: '', component: TwitterAuthorisedComponent }
];
export const appRouterProviders = [
provideRouter(routes)
];
如果我刪除路由查詢參數粘。有什麼建議?
感謝您的反饋。我已經嘗試過您的解決方案,但它不適合我,儘管我確信您是正確的。我注意到如果我用查詢字符串加載我的應用程序?foo = bar它在頁面加載時丟失。時刻頁面呈現URL轉換爲http:// localhost:8000 /#/,我無法從我的AppComponent捕獲URL。 URL中的更改是否將任何查詢字符串移除爲正常? – prime
我認爲這不正常。查詢參數應該堅持。途中可能會有一些重定向。 – yarons