第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查具有參數(shù)的匹配路線?(在路線守衛(wèi)中)

如何檢查具有參數(shù)的匹配路線?(在路線守衛(wèi)中)

慕田峪9158850 2021-04-25 13:15:10
我定義了一條路由,該路由具有一個稱為uuid的查詢參數(shù){path: 'is-protected/:uuid', component: protectedComponent, canActivate: [RouteGuardService]}在路由防護(hù)中,我需要檢查url是否匹配并且路由參數(shù)(:uuid)是否為空。如果路線沒有參數(shù),我需要將其重定向到本地路線。我正在嘗試使用if (state.url == 'is-protected'){  if( query param exists){    return true;  }  else {      this.route.navigate(['/']);  }}這不會起作用,因?yàn)閟tate.url不包含查詢參數(shù),因此它將永遠(yuǎn)不會到達(dá)此代碼塊。有沒有辦法檢查包含參數(shù)的路線是否存在并進(jìn)行相應(yīng)導(dǎo)航?
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個贊

我實(shí)現(xiàn)的一種可能的解決方案是在沒有參數(shù)的情況下在路由器本身中創(chuàng)建重定向,并將其重定向到本地。


{ path: 'is-protected', redirectTo: 'home', pathMatch: 'full' }

如果查詢參數(shù)不存在,這將處理。這種方法對我有用,因?yàn)槲覜]有任何類似的路線或沒有參數(shù)的路線。


現(xiàn)在在路線守衛(wèi)中


if (state.url.indexOf('is-protected') > -1) {

    //this route will have the query param. If it didnt, it would be redirected automatically because of redirection added in list of routes

  if (condition I need to test) {

    return true

  } else {

    this.route.navigate(['/home']);

  }

}

如果有更好的方法或解決方案,請發(fā)表評論。謝謝!


查看完整回答
反對 回復(fù) 2021-05-06
?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個贊

您應(yīng)該注入構(gòu)造函數(shù)路由:ActivatedRouteSnapshot


您可以像這樣訪問路線參數(shù),并將其與您的期望值進(jìn)行比較


let id;


if(route.paramMap.has('id')){

    assessmentId = route.paramMap.get("id");

}


查看完整回答
反對 回復(fù) 2021-05-06
  • 3 回答
  • 0 關(guān)注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號