在vue項目中如何實現跳轉到一個新頁面

記錄一下在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,如下:

1 seeShare(){
2    let routeUrl = this.$router.resolve({
3      path: "/share",
4      query: {id:96}
5    });
6      //let routeUrl = this.$router.resolve(`/share/${96}`) 
7    window.open(routeUrl.href, '_blank');
8 }

 

 

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