2016-11-20 47 views
0

我有我的應用程序的搜索功能,搜索的產品的列表,這是一切會好,但是我想將用戶重定向到另一頁說www.site.com/search?keyword=perfumeAngular2如何做一個URL查詢字符串

我只能使其www.site.com/search/perfumewww.site.com/search;keyword=perfume

路由器導航this.router.navigate(['search', {keyword: searchVal}]);這樣做的結果www.site.com/search;keyword=perfume

路線

const appRoutes: Routes = [ 
    { path: 'search', component: SearchComponent} 
]; 

搜索功能:

findproduct(searchTerm: HTMLInputElement): void { 
var searchVal = searchTerm.value; 
this.productService.searchproduct(searchVal) 
    .subscribe(data => { 
    this.router.navigate(['search', {keyword: searchVal}]); 
    console.log(data) 
    }); 

}

我怎樣才能讓我的網址是www.site.com/search?keyword=perfume

回答

2

您應該使用queryParams

this.router.navigate(['/search'], { queryParams: { keyword: searchVal } }); 
+1

哦,謝謝,我想我不得不把在[]帕拉姆。這工作:) – MrNew

0

應當更新appRoutes如下:

const appRoutes: Routes = [ 
    { path: 'search/:keyword', component: SearchComponent} 
]; 
+0

這將輸出參數'/搜索/ product'沒有查詢字符串'/搜索?關鍵字= product' – MrNew

相關問題