我試圖傳遞和閱讀採用了棱角分明Route.navigate
數據,如何使用router.navigate與Angular傳遞和接收數據?
一個組件上我有
this._router.navigate(["dashboard",{ queryParams: { page: 1 }}],
在儀表板組件我有
ngOnInit() {
this.sub = this._route
.queryParams
.subscribe(params => {
// Defaults to 0 if no query param provided.
let page = +params['page'] || 0;
console.log(page);
});
}
但這總是返回
我做錯了什麼?
我ng --version
是
@angular/cli: 1.0.2
node: 6.3.1
os: darwin x64
@angular/common: 4.1.1
@angular/compiler: 4.1.1
@angular/core: 4.1.1
@angular/forms: 4.1.1
@angular/http: 4.1.1
@angular/platform-browser: 4.1.1
@angular/platform-browser-dynamic: 4.1.1
@angular/router: 4.1.1
@angular/cli: 1.0.2
@angular/compiler-cli: 4.1.1
IPLCEWKS01167:routeTest iplcewks01167$
我不知道原因,但是這是行不通的。但是,這個工程:: this._router.navigate([「dashboard」,{page:1}] :: this.sub = this._route.params .subscribe(params => {console.log(params); 如果沒有提供查詢參數,默認爲0 let page = + params ['page'] || 0; console.log(page); }); – raju
@raju是的,它們是兩種不同的方式。使用'queryParams',它應該被設置爲第二個參數 – Pengyy
@raju和前一個是'params'的語法,第二個是'queryParams'。 – Pengyy