首頁  >  文章  >  web前端  >  Angular4中路由Router類別的跳轉navigate

Angular4中路由Router類別的跳轉navigate

不言
不言原創
2018-05-05 15:57:502718瀏覽

這篇文章主要介紹了詳解Angular4中路由Router類的跳轉navigate,具有一定的參考價值,感興趣的小伙伴們可以參考一下

最近一直在學習angular4,它確實比以前有了很大的變化和改進,好多地方也不是那麼容易就能理解,好在官方的文檔和例子是中文,對英文不太好的還是有很大幫助去學習。

在學習的過程中路由(router)機制是離不開的,而且好多地方都要用到。

首先路由設定Route:

import { NgModule }       from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
 
import { HomeComponent }  from './home.component';
import { LoginComponent }   from './login.component';
import { RegisterComponent } from './register.component';
 
 const routes: Routes = [
  { path: '', redirectTo: '/home', pathMatch: 'full' },
  { path: 'home', component: HomeComponent },
  { path: 'login', component: LoginComponent },
  { path: 'heroes',   component: RegisterComponent }
 ];
 
 @NgModule({
  imports: [ RouterModule.forRoot(routes) ],
  exports: [ RouterModule ]
 })
 export class AppRoutingModule {}

# 其次路由跳轉Router.navigate

 navigate(commands: any[], extras?: NavigationExtras) : Promise<boolean>

 interface NavigationExtras {
  relativeTo : ActivatedRoute
  queryParams : Params
  fragment : string
  preserveQueryParams : boolean
  queryParamsHandling : QueryParamsHandling
  preserveFragment : boolean
  skipLocationChange : boolean
  replaceUrl : boolean
}

1.以根路由跳轉/login

this.router.navigate([&#39;login&#39;]);

2.設定relativeTo相對目前路由跳轉,route是ActivatedRoute的實例,使用需要匯入ActivatedRoute

#
this.router.navigate([&#39;login&#39;, 1],{relativeTo: route});

##3.路由中傳參數/login?name=1

this.router.navigate([&#39;login&#39;, 1],{ queryParams: { name: 1 } });

4.preserveQueryParams預設值為false,設為true,保留先前路由中的查詢參數/login?name=1 to /home?name=1

this.router.navigate([&#39;home&#39;], { preserveQueryParams: true });

5.路由中錨點跳轉/home#top

 this.router.navigate([&#39;home&#39;],{ fragment: &#39;top&#39; });

6 .preserveFragment預設為false,設為true,保留先前路由中的錨點/home#top to /role#top

this.router.navigate([&#39;/role&#39;], { preserveFragment: true });

#7.skipLocationChange預設為false,設為true,路由跳轉時瀏覽器中的url會保持不變,但是傳入的參數仍然有效

#

this.router.navigate([&#39;/home&#39;], { skipLocationChange: true });

8.replaceUrl默認為true,設為false,路由不會進行跳轉

this.router.navigate([&#39;/home&#39;], { replaceUrl: true });

以上是Angular4中路由Router類別的跳轉navigate的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn