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

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

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

背景

用過Vue Router的童鞋應(yīng)該對(duì)路由傳參的方式多多少少有些印象,Vue Router支持兩種傳參方式:query與params;其中query方式就是動(dòng)態(tài)地在路由url后面追加參數(shù),就是http的get請(qǐng)求方式;那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))    
 }

運(yùn)行截圖

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

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

情況一:query在hash前面

情況二:query在hash后面

結(jié)果證明,當(dāng)query在hash后面時(shí),連內(nèi)置對(duì)象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é)語

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

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

相關(guān)文章

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

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

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

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

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

    javascript實(shí)現(xiàn)倒計(jì)時(shí)小案例

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

    解析利用javascript如何判斷一個(gè)數(shù)為素?cái)?shù)

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

    JavaScript之Array常見的方法詳解

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

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

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

    表單元素事件 (Form Element Events)

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

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

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

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

    最近做項(xiàng)目需要這樣的需求,當(dāng)用戶點(diǎn)擊標(biāo)簽欄按鈕,向下彈出菜單,再次點(diǎ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 其實(shí)是一種編碼轉(zhuǎn)換方式,將ASCII字符轉(zhuǎn)換成普通文本,是網(wǎng)絡(luò)上最常見的用于傳輸8Bit字節(jié)代碼的編碼方式之一,需要的朋友可以參考下
    2024-05-05

最新評(píng)論

全南县| 思南县| 肥东县| 敦化市| 乡城县| 胶州市| 绍兴市| 图木舒克市| 依安县| 平利县| 梅河口市| 土默特右旗| 韩城市| 广宁县| 揭东县| 普陀区| 沧源| 桂东县| 四川省| 郁南县| 申扎县| 三门县| 武汉市| 乐昌市| 皋兰县| 东台市| 石台县| 南川市| 盘山县| 永修县| 乐陵市| 鹤壁市| 东宁县| 伊宁市| 确山县| 榆林市| 遂昌县| 华宁县| 宣城市| 五河县| 阆中市|