vue-router如何跳轉時打開新頁面

最近還是在痛苦的掙扎中
掙扎吧

記錄一下在vue項目中如何實現跳轉到一個新頁面(一個比較簡單又比較基礎的問題了),有兩個方法:

1、<vue-link>標籤實現新窗口打開

官方文檔中說 v-link 指令被 <router-link> 組件指令替代,且 <router-link> 不支持 target="_blank" 屬性,如果需要打開一個新窗口必須要用<a>標籤,但事實上vue2版本的 <router-link> 是支持 target="_blank" 屬性的(tag="a"),如下:

<router-link target="_blank" :to="{path:'/home',query:{id:'1'}}">新頁面打開home頁</router-link>

2、編程式導航

有些時候需要在單擊事件或者在函數中實現頁面跳轉,那麼可以藉助router的示例方法,通過編寫代碼實現。我們常用的是 $router.push 和 $router.go 但是vue2.0以後,這種方式就不支持新窗口打開的屬性了,這個時候就需要使用this.$router.resolve,如下:

seeShare(){
     let routeUrl = this.$router.resolve({
          path: "/share",
          query: {id:96}
     });
     window.open(routeUrl.href, '_blank');
}

何時成爲大佬

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章