Vue 中 rooter的一些用法

Vue 里面有個(gè)很好用的 rooter 只要我們配置好了頁面路徑可以很好的幫我們解決頁面中的跳轉(zhuǎn)問題

我們最常用的莫過于

 this.$router.push({
     path: '/PageDetail',//頁面路徑
     query:{userid:userid},//路勁傳值
                });

可以很方便的進(jìn)行頁面間的跳轉(zhuǎn)。

但我們一般不僅僅這點(diǎn)需求,我們經(jīng)常會(huì)遇到tab 切換子路由的情況,這里需要注意一點(diǎn)東西

Tab 點(diǎn)擊跳轉(zhuǎn)子路由

頁面路勁配置

{
  path: '/allexplain/HomeContainerPage',
  name: 'HomeContainerPage',
  // meta: {keepAlive: true},
  component: () => import('@/components/TripArrange/HomeContainerPage'),
  // redirect: 'HomeContainerPage/test0',
  children: [
    { path: "/TripSurvey",
      meta: {keepAlive: true,title:'行程概況'},
      component: () => import('@/components/TripArrange/TripSurvey')
    },
    { path: "/TripArrangeNew",
      meta: {keepAlive: true,title:'行程詳情'},
      component: () => import('@/components/TripArrange/TripArrangeNew')
    },
    { path: "/triphotelpage",
      meta: {keepAlive: true,title:'行程酒店'},
      component: () => import('@/components/TripArrange/TripHotelPage')
    },
    { path: "/test3",
      meta: {keepAlive: true},
      component: () => import('@/components/TripArrange/Test3')
    },
    {
      path: '/OfferDetail',
      meta: {keepAlive: true,title:'行程費(fèi)用'},
      component: () => import('@/components/TripArrange/OfferDetail'),
    },

  ],
},

點(diǎn)擊跳轉(zhuǎn)

用 this.router.replace 而不是 this.router.push
因?yàn)?push 是推 一個(gè)個(gè)推出 點(diǎn)微信返回鍵的就會(huì)逐個(gè)返回,與實(shí)際不符。其實(shí)是要把當(dāng)前頁面替換成點(diǎn)擊的頁面 所以用 replace

因?yàn)樵谧勇酚芍斜;睿?/p>

<keep-alive>
<router-view></router-view>
</keep-alive>

所以加載完成后只會(huì)調(diào)用一次 mounted.然而又想在每次點(diǎn)擊切換子路由的時(shí)候(即當(dāng)前頁面顯示的時(shí)候做操作)實(shí)時(shí)更改標(biāo)題或者什么其他操作這時(shí)候就要用到
activated(){
// 在這里操作
}

onTabClick(index) {
  this.mTabPosition = index
  switch (index) {
    case 0:
      this.$router.replace({
        path: '/TripSurvey',
      })
      break;
    case 1:
      this.$router.replace({
        path: '/TripArrangeNew',
      })
      break;
    case 2:
      this.$router.replace({
        path: '/triphotelpage',
      })
      break;
    case 3:
      this.$router.replace({
        path: '/OfferDetail',
      })
      break;
  }

新建窗口跳轉(zhuǎn)頁面

1 跳轉(zhuǎn) 本項(xiàng)目的網(wǎng)頁

  let route = this.$router.resolve({
    path:'/EditView',
    query:{},
});
window.open(route.href,'_blank');

2 跳轉(zhuǎn)外部鏈接

 window.open(url,'_blank’);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • VUE Vue :數(shù)據(jù)驅(qū)動(dòng)的M V Vm框架 m :model(后臺(tái)提供數(shù)據(jù)),v :view(頁面),vM(模板...
    wudongyu閱讀 5,528評論 0 11
  • 這是我第5篇簡書。 ??由于Vue在開發(fā)時(shí)對路由支持的不足,于是官方補(bǔ)充了vue-router插件。vue的單頁面...
    東西里閱讀 47,472評論 20 212
  • 1、V-if和V-show的區(qū)別 答案:區(qū)別就是dom元素是否掛載了,v-show是dom樹上有內(nèi)容,不顯示,di...
    cj_jax閱讀 20,327評論 2 22
  • 什么是路由? 網(wǎng)絡(luò)頁面與頁面跳轉(zhuǎn),實(shí)現(xiàn)的都是 標(biāo)簽, 標(biāo)簽里面有屬性href,給它定義一個(gè)網(wǎng)絡(luò)地址或者路徑的...
    廖馬兒閱讀 2,739評論 1 17
  • 1路由,其實(shí)就是指向的意思,當(dāng)我點(diǎn)擊頁面上的home按鈕時(shí),頁面中就要顯示home的內(nèi)容,如果點(diǎn)擊頁面上的abou...
    你好陌生人丶閱讀 1,781評論 0 6

友情鏈接更多精彩內(nèi)容