溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁面問題

發(fā)布時間:2021-08-02 14:30:36 來源:億速云 閱讀:206 作者:小新 欄目:web開發(fā)

這篇文章主要介紹如何解決angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁面問題,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、router.navigate的使用

navigate是Router類的一個方法,主要用來跳轉(zhuǎn)路由。

函數(shù)定義:

navigate(commands: any[], extras?: NavigationExtras) : Promise`<boolean>`
interface NavigationExtras {
 relativeTo : ActivatedRoute
 queryParams : Params
 fragment : string
 preserveQueryParams : boolean
 preserveFragment : boolean
 skipLocationChange : boolean
 replaceUrl : boolean
}

1.this.router.navigate(['user', 1]);

以根路由為起點(diǎn)跳轉(zhuǎn)

2.this.router.navigate(['user', 1],{relativeTo: route});

默認(rèn)值為根路由,設(shè)置后相對當(dāng)前路由跳轉(zhuǎn),route是ActivatedRoute的實(shí)例,使用需要導(dǎo)入ActivatedRoute

3.this.router.navigate(['user', 1],{ queryParams: { id: 1 } });
路由中傳參數(shù) /user/1?id=1

4.this.router.navigate(['view', 1], { preserveQueryParams: true });

默認(rèn)值為false,設(shè)為true,保留之前路由中的查詢參數(shù)/user?id=1 to /view?id=1

5.this.router.navigate(['user', 1],{ fragment: 'top' });

路由中錨點(diǎn)跳轉(zhuǎn) /user/1#top

6.this.router.navigate(['/view'], { preserveFragment: true });

默認(rèn)值為false,設(shè)為true,保留之前路由中的錨點(diǎn)/user/1#top to /view#top

7.this.router.navigate(['/user',1], { skipLocationChange: true });

默認(rèn)值為false,設(shè)為true路由跳轉(zhuǎn)時瀏覽器中的url會保持不變,但是傳入的參數(shù)依然有效

8.this.router.navigate(['/user',1], { replaceUrl: true });

未設(shè)置時默認(rèn)為true,設(shè)置為false路由不會進(jìn)行跳轉(zhuǎn)

二、router.navigate刷新頁面問題

造成這個問題一般是因?yàn)槲覀冊?lt;form>表單中使用<button>時忘記添加type屬性,在表單中,如果忘記給按鈕添加屬性,會默認(rèn)為submit

<button (click)="toDetail()">detail</button>
toDetail() {
 this._router.navigate(['/detail']);
}

解決方法:

1.添加type

<button type="button" (click)="toDetail()">detail</button>

2.click添加false

<button (click)="toDetail();false">detail</button>

以上是“如何解決angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁面問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI