vue+webpack+vue-cli獲取URL地址參數


在沒有使用webpack+vue router開發中,想要獲取RUL傳的參數地址,直接通過一個函數就可以獲得。

比如在  www.test.com/test.html?sign=test  地址中,想要獲取sign的值,通常的方法是用一個函數,

var getUrlStr =  function(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  var r = window.location.search.substr(1).match(reg);
  if(r != null) return unescape(r[2]);
  return null;
}

var sign = getUrlStr ("sign");

sign的值就為 test ;

那么問題來了,用router開發,是直接通過路由跳轉的頁面,那該怎樣獲取呢?

首先想到的也是通過以上方法獲取,但試了一下,表示行不通。通過百度了解到,可以直接使用提供的方法;

就如這樣,也是同樣的傳參  http://localhost:8080/#/one?sign=nsrjbxx 

var  sign = this.$route.query.sgin ;

this 指的是 vue 對象,所以放在vue的方法中直接使用就行了,sign 是參數,這個是可以自定義的。

理解很潛,簡單的能達到目的,有更深的理解歡迎來評!!!

 

最近發現 可以簡單的修改下getUrlStr 函數也是可以實現的

var  getUrlStr = function(name){
        /**
         * 獲取地址欄參數
         */
        let reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)","i");
        if(reg.test(window.location.href)){
            return unescape(RegExp.$2.replace(/\+/g," "))
        }
        return undefined
    }

直接通過獲取location.href 得到URL的地址,在根據獲取參數就ok了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM