Vue項目獲取url中的參數(親測可用)

親測可用,若有疑問請私信

獲取url參數有兩種情況:

情況一:內部頁面之間互相傳值

這裡先講情況一,因為同一項目內互相傳值比較簡單,假如要從A頁面跳轉到B頁面,並傳值。就要在A頁面這麼寫

this.$router.push({name:"B",query:{
    Id : this.tId ,
    ...
}})

進入B頁面之後,在B頁面內這麼寫

this.Id = this.$route.query.Id;

就能將A頁面的id傳入B頁面,進行數據調取。

情況二:外部跳轉VUE項目時自帶參數

例如http://www.hahaha.com/list?Id=9#/

外部進入的url會放在VUE項目編譯以後自動加 “#/” ,其中帶的參數在#/之前,所以用以上方法無法獲取,那麼我們隻能用JS的方法來獲取

var url = window.location.href ;             //獲取當前url
    var dz_url = url.split('#')[0];                //獲取#/之前的字符串
    var cs = dz_url.split('?')[1];                //獲取?之後的參數字符串
    var cs_arr = cs.split('&');                    //參數字符串分割為數組
    var cs={};
    for(var i=0;i<cs_arr.length;i++){         //遍歷數組,拿到json對象
      cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1]
    }
this.id = cs.id;                                           //這樣就拿到瞭參數中的數據

補充:vue獲取URL中的參數

1 獲取?後面的參數

http://192.168.1.105:8080/#/idInput?username=%22%E5%BC%A0%E4%B8%89%22

獲取參數方法 let id = this.$route.query.username

2 獲取不帶?的URL中的參數

http://192.168.1.12:8080/#/home/newsinfo/234

在路由中配置路由

{ path: '/home/newsinfo/:id', component: Newsinfo }

.vue頁面設置

 <template>
          <router-link :to="'/home/newsinfo/' + item.id">
    </template>

獲取參數方法 let id = this.$route.params.id

到此這篇關於Vue項目獲取url中的參數(親測可用)的文章就介紹到這瞭,更多相關vue url參數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: