最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

小發(fā)現(xiàn)之淺談location.search與location.hash的問題

 更新時間:2017年06月23日 08:08:15   投稿:jingxian  
下面小編就為大家?guī)硪黄“l(fā)現(xiàn)之淺談location.search與location.hash的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

背景

用過Vue Router的童鞋應該對路由傳參的方式多多少少有些印象,Vue Router支持兩種傳參方式:query與params;其中query方式就是動態(tài)地在路由url后面追加參數(shù),就是http的get請求方式;那Vue Router與location的search和hash有什么關(guān)系呢?

正題

首先我們先來看一下query方式傳參

路由A

// 跳轉(zhuǎn)到detail路由頁
let query = {
   name: abc,
   age: 23     
}
this.$router.push({name: 'detail', query: query})

路由detail

 created(){
  // 打印query參數(shù)
  alert(JSON.stringify(this.$route.query))    
 }

運行截圖

一切好像都沒有問題,但是由于我好奇心比較強,所有就稍微手賤了一下下,把地址欄中鏈接的detail和query交換了一下位置,于是就出現(xiàn)了下面的情況,見截圖

感覺可能是Vue Router的問題(人家Router已經(jīng)自動把query加在hash后面了,你非要交換位置,似不似傻),在日常使用Vue Router時只要我們的url不是手動把query和hash交換位置,就不會出現(xiàn)問題;這里真正要說的是,在傳統(tǒng)模式開發(fā)中,如果在url中search與hash同事存在,并且你要用到這些query時,你的hash值一定要放在query后面,下面我們以百度頁面演示一下

情況一:query在hash前面

情況二:query在hash后面

結(jié)果證明,當query在hash后面時,連內(nèi)置對象location自身都取不到query,難道你有什么好的辦法嗎,所有我們要避免情況二

常用取url參數(shù)的方法(網(wǎng)上搜的)

1.正則方式

function GetQueryString(name)
{
   var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
   var r = window.location.search.substr(1).match(reg);
   if(r!=null)return unescape(r[2]); return null;
}
 
// 調(diào)用方法
alert(GetQueryString("參數(shù)名1"));
alert(GetQueryString("參數(shù)名2"));
alert(GetQueryString("參數(shù)名3"));

2.字符串方式

function GetRequest() { 
 var url = location.search; //獲取url中"?"符后的字串 
 var theRequest = new Object(); 
 if (url.indexOf("?") != -1) { 
  var str = url.substr(1); 
  strs = str.split("&"); 
  for(var i = 0; i < strs.length; i ++) { 
   theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); 
  } 
 } 
 return theRequest; 
}

// 調(diào)用方式
var urlParams = GetRequest();
urlParams["參數(shù)名稱"]

結(jié)語

一個小小的發(fā)現(xiàn),希望大家看完看完會有所印象,以后出現(xiàn)類似問題時,就知道是什么原因,該如何解決

以上這篇小發(fā)現(xiàn)之淺談location.search與location.hash的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • js實現(xiàn)可旋轉(zhuǎn)的立方體模型

    js實現(xiàn)可旋轉(zhuǎn)的立方體模型

    這里給大家分享的是通過js腳本來控制頁面中的正方體轉(zhuǎn)動特效,用戶可以點擊按鈕向右轉(zhuǎn)動,也可以向下轉(zhuǎn)動,結(jié)合自己的需求控制即可。效果非常棒,這里推薦給大家
    2016-10-10
  • JS實現(xiàn)div模塊的截圖并下載功能

    JS實現(xiàn)div模塊的截圖并下載功能

    這篇文章主要介紹了JS實現(xiàn)div模塊的截圖并下載功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-10-10
  • javascript實現(xiàn)倒計時小案例

    javascript實現(xiàn)倒計時小案例

    這篇文章主要為大家詳細介紹了javascript實現(xiàn)倒計時小案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 解析利用javascript如何判斷一個數(shù)為素數(shù)

    解析利用javascript如何判斷一個數(shù)為素數(shù)

    本文主要分享了利用javascript如何判斷一個數(shù)為素數(shù)的具體實例代碼,有需要的朋友可以作為參考看下
    2016-12-12
  • JavaScript之Array常見的方法詳解

    JavaScript之Array常見的方法詳解

    這篇文章主要為大家介紹了JavaScript之Array常見的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助V
    2021-11-11
  • javascript實現(xiàn)省市區(qū)三級聯(lián)動下拉框菜單

    javascript實現(xiàn)省市區(qū)三級聯(lián)動下拉框菜單

    這篇文章主要為大家詳細介紹了javascript實現(xiàn)省市區(qū)三級聯(lián)動下拉框菜單很詳細的代碼,解決了大家實現(xiàn)javascript省市區(qū)三級聯(lián)動下拉框菜單的問題,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 表單元素事件 (Form Element Events)

    表單元素事件 (Form Element Events)

    表單元素事件 (Form Element Events)僅在表單元素中有效。
    2009-07-07
  • JS字符串函數(shù)擴展代碼

    JS字符串函數(shù)擴展代碼

    JS字符串函數(shù)擴展代碼,大家可以參考下prototype的使用方法,擴展自己的字符串處理函數(shù)。
    2011-09-09
  • 微信小程序?qū)崿F(xiàn)彈出菜單功能

    微信小程序?qū)崿F(xiàn)彈出菜單功能

    最近做項目需要這樣的需求,當用戶點擊標簽欄按鈕,向下彈出菜單,再次點擊,收回菜單。接下來通過本文給大家介紹微信小程序?qū)崿F(xiàn)彈出菜單功能,感興趣的朋友一起看看吧
    2018-06-06
  • JS將圖片轉(zhuǎn)Base64的2種方法代碼

    JS將圖片轉(zhuǎn)Base64的2種方法代碼

    這篇文章主要給大家介紹了關(guān)于JS將圖片轉(zhuǎn)Base64的2種方法,base64 其實是一種編碼轉(zhuǎn)換方式,將ASCII字符轉(zhuǎn)換成普通文本,是網(wǎng)絡上最常見的用于傳輸8Bit字節(jié)代碼的編碼方式之一,需要的朋友可以參考下
    2024-05-05

最新評論

永嘉县| 聊城市| 建平县| 淳化县| 马边| 海晏县| 奎屯市| 乌鲁木齐县| 合川市| 盐亭县| 长葛市| 梁山县| 昌邑市| 邵武市| 永年县| 宁南县| 宜丰县| 包头市| 黔西县| 漠河县| 武胜县| 承德市| 韶山市| 轮台县| 南乐县| 临洮县| 泗洪县| 栾川县| 依兰县| 铜鼓县| 周至县| 台湾省| 彩票| 瑞金市| 阳江市| 酉阳| 甘南县| 磐安县| 河南省| 延安市| 平塘县|