在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 網頁設計教程 > 詳細頁面

Vue用History記錄上一頁面的數據方法的代碼介紹

Vue用History記錄上一頁面的數據方法的代碼介紹

更新時間:2025-12-08 文章作者:未知 信息來源:網絡 閱讀次數:

網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立...
網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。
這篇文章主要給大家介紹了關于Vue用History記錄上一頁面的數據方法的代碼介紹,文中通過示例代碼介紹的非常詳細,需要的朋友們可以參考一下。

前言

本文主要介紹的是Vue利用History記錄上一頁面數據的相關內容,vue使用history后,能夠使得url更加漂亮,也就是不再有‘#'的問題,下面話不多說了,來一起看看詳細的介紹吧

需求

從列表頁的第二頁進入詳情頁,返回時列表頁仍然顯示在第二頁;

從列表頁的第二頁進入詳情頁,返回時列表頁的篩選條件仍然存在。

技術選擇

使用vue-router組件,通過this.$router.push({path: path, query: query});方式,將頁碼和選擇條件作為參數存儲在url中,這種方式在上面的UI設計中是可行的,但是當列表頁中包含tab組件時(分頁組件是公用的),會因為push的因素(因為push會打開新頁面)導致一些問題(PS:也可能是本人技術能力的原因),未實現。
使用History API(HTML5開始支持),通過history.replaceState方式,將頁碼作為參數存儲在url中,將選擇條件存儲在history中(尚不清楚數據具體是存儲在哪里);通過location.hash方式獲取頁碼;通過history.state方式獲取存儲的選擇條件。
具體實現--技術選擇2

開關

為分頁組件添加一個開關(openroute),因為需要灰度上線,萬一有問題,要調整的頁面也只有一個。代碼如下:

`<script>`
`export` `default` `{`
`props: {`
`openroute: {`
`type: Boolean,`
`default``: () => (``true``)`
`}
`},`
`}`
`</script>`

分頁組件中存儲頁碼和選擇條件&獲取頁碼

`<script>`
`export` `default` `{`
`methods: {`
`fetchData(page) {`
`/請求參數`
`let params =` `this``.params;`
`//請求頁碼`
`let newPage;`
`//openroute處理`
`if` `(``this``.openroute) {`
`//為url添上#page`
`if` `(page) {`
`history.replaceState(params.data, document.title,` `"#"` `+ page);`
`}` `else` `{`
`if` `(history.state) {`
`if` `(!history.state.key && location.hash && location.hash.split(``"#"``) && location.hash.split(``"#"``)[1]) {`
`if` `(JSON.stringify(history.state) !== JSON.stringify(params.data)) {` `//選擇條件變更則請求第一頁`
`history.replaceState(params.data, document.title,` `"#1"``);`
`}` `else` `{`
`history.replaceState(params.data, document.title,` `"#"` `+ location.hash.split(``"#"``)[1]);`
`}`
`}` `else` `{`
`history.replaceState(params.data, document.title,` `"#1"``);`
`}`
`}` `else` `{`
`if` `(location.hash && location.hash.split(``"#"``) && location.hash.split(``"#"``)[1]) {`
`history.replaceState(params.data, document.title,` `"#"` `+ location.hash.split(``"#"``)[1]);`
`}` `else` `{`
`history.replaceState(params.data, document.title,` `"#1"``);`
`}`
`}`
`}`
`//獲取url后面的#page`
`if` `(location.hash && location.hash.split(``"#"``) && location.hash.split(``"#"``)[1]) {`
`newPage = Number(location.hash.split(``"#"``)[1]);`
`}` `else` `{`
`newPage = 1;`
`}`
`}` `else` 
`{`
`newPage = page;`
`}`
`//請求數據,獲得結果,傳遞給列表頁面`
`}`
`}`
`}`
`</script>`

列表頁面獲取選擇條件

目前可能是因為框架設計的問題,沒法在請求數據之前通過Object.assign方式為替換初始變量,所以先這樣處理(笨方法,各位大佬有解決辦法麻煩指導下,謝謝):

`<script>`
`export` `default` `{`
`data()
 {`eturn`
`{`
`form: {`
`aaa: (history.state && history.state.aaa) ? history.state.aaa :` `null``,`
`bbb: (history.state && history.state.bbb) ? history.state.bbb :` `null``,`
`ccc: (history.state && history.state.ccc) ? history.state.ccc :` `null`
`},`
`};`
`}`
`};`
`</script>`

已解決,初始變量不需要動,可以通過以下方式實現:

`if` `(history.state) {`
`Object.assign(``this``.form, history.state)`
`if` `(``this``.form.key) {`
`delete` `this``.form.key`
`}`
`}`
`},`

這里記錄下:之前以為created方法是在分頁組件的watch監聽之后執行的,后來發現被誤導了(因為之前是通過Object.assign(true, this.form, history.state)方式實現數據賦值的,但是并沒有成功)。下面做個小總結:

Object.assign(true, a, b);”和“Object.assign(a, b);”有什么區別?

結論:前者:改a不影響b;后者:改a影響b

分析(這篇文章有源碼分析( <font color='red'>求解答:WebStorm中如何關聯源碼?</font>),很棒):

FAQ

需要使用history.replaceState方式是因為:它不會將更改后的url壓到history棧中,所以不會增加回退和前進的操作步數;
使用history.replaceState方式,可存儲的state大小不能操作640k

以上就是Vue用History記錄上一頁面的數據方法的代碼介紹的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 日韩毛片在线免费看| 国产乱子夫妻xx黑人xyx真爽 | 99re精彩视频| 热久久精品国产| 91传媒久久久| 成人免费无码av| 中文字幕无码不卡免费视频| 国产亚洲天堂网| 国产免费视频传媒| 天天爽人人爽夜夜爽| 欧美日韩在线观看不卡| 中文字幕久久av| 成人性生交视频免费观看| 国产毛片久久久久久| 日韩人妻精品一区二区三区| 中文字幕第三区| 精品国产一区二区三区无码| 福利在线一区二区| 久久精品.com| 欧美性受xxxx黒人xyx性爽| 在线观看视频黄色| 日韩国产一级片| 国产超碰在线播放| 国产盗摄视频在线观看| a天堂资源在线观看| www黄色av| 9999在线观看| 欧美牲交a欧美牲交| 中日韩av在线播放| 日本黄色片一级片| 天堂av在线网站| 三级在线免费观看| www.日本xxxx| av久久久久久| 狠狠干狠狠操视频| 免费欧美一级视频| 两性午夜免费视频| 免费在线观看的av网站| 日本一本草久p| the porn av| 青青艹视频在线| 国产又粗又猛大又黄又爽| 男人和女人啪啪网站| 免费看啪啪网站| 国产免费又粗又猛又爽| 久久久久久免费看| www.偷拍.com| 91香蕉视频导航| 黄色av网址在线播放| 在线观看成人免费| 亚洲天堂国产视频| 国产精品无码一本二本三本色| 黄色污污在线观看| www.午夜av| 亚洲免费黄色网| 激情视频免费网站| 色诱视频在线观看| 欧美日韩亚洲一二三| 欧美日韩精品在线一区二区 | 伊人影院综合在线| 毛葺葺老太做受视频| av免费观看国产| 福利视频一区二区三区四区| 99热这里只有精品7| 91精产国品一二三产区别沈先生| 蜜桃免费在线视频| 欧美日韩大尺度| 色综合天天色综合| 一级在线免费视频| 五月天av在线播放| 亚洲天堂网站在线| 永久av免费在线观看| 女女同性女同一区二区三区按摩| 天天色综合社区| 亚洲三级在线观看视频| www.亚洲一区二区| 日韩欧美视频免费在线观看| av 日韩 人妻 黑人 综合 无码| 成年在线观看视频| 日韩精品―中文字幕| 国产a级一级片| 香蕉视频禁止18| 麻豆md0077饥渴少妇| 和岳每晚弄的高潮嗷嗷叫视频| 成人av在线不卡| 成年人免费大片| 亚洲高清视频免费| 欧美性猛交内射兽交老熟妇| 欧美在线一区视频| www午夜视频| 大片在线观看网站免费收看| 玩弄中年熟妇正在播放| 国产91在线视频观看| 99re精彩视频| 狠狠干 狠狠操| 15—17女人毛片| 蜜臀av无码一区二区三区| 草草草在线视频| av久久久久久| 亚洲这里只有精品| 日韩av新片网| 超碰中文字幕在线观看| 国产主播在线看| gogogo免费高清日本写真| 国产av无码专区亚洲精品| www.污污视频| 噼里啪啦国语在线观看免费版高清版| 国产一级片中文字幕| caoporn超碰97| bt天堂新版中文在线地址| 亚洲久久中文字幕| 国产a视频免费观看| 欧美激情亚洲天堂| 亚洲在线观看网站| 一道本视频在线观看| 免费观看日韩毛片| 欧美视频在线第一页| 中文字幕制服丝袜在线| 国产高潮免费视频| 色婷婷综合久久久久中文字幕| 成人毛片100部免费看| 黄色片免费网址| 国产一区二区在线观看免费视频| 欧美 国产 日本| 国产极品粉嫩福利姬萌白酱| av动漫在线播放| 伊人再见免费在线观看高清版 | 992kp快乐看片永久免费网址| 国产一区二区四区| 日韩精品一区二区免费| 国产又爽又黄ai换脸| 欧美aaa在线观看| 中国 免费 av| 超碰91在线播放| 无码毛片aaa在线| 奇米777四色影视在线看| 日本一本草久p| 欧美乱做爰xxxⅹ久久久| 伊人网在线免费| 青青草国产免费| 欧美 国产 综合| 国内自拍视频网| 图片区乱熟图片区亚洲| 青青草原国产免费| 久久这里只有精品8| 精品视频免费在线播放| 老司机午夜av| 夜夜夜夜夜夜操| 成年人三级视频| 国产精品沙发午睡系列| 草草草在线视频| 精产国品一二三区| 日韩国产一级片| 亚洲精品视频导航| 麻豆一区二区三区在线观看| 国产精品国产对白熟妇| 久草在在线视频| 久久人人爽人人片| 日韩免费一级视频| 在线免费av播放| 裸体裸乳免费看| 欧美综合在线观看视频| 三级网在线观看| 99福利在线观看| 欧美h视频在线观看| 欧美日韩亚洲一| 国风产精品一区二区| 四虎永久在线精品无码视频| 99精品视频国产| 欧美激情国产精品日韩| 国内精品国产三级国产99| 成人中文字幕av| 久久福利一区二区| 中文字幕1234区| 虎白女粉嫩尤物福利视频| 97av中文字幕| 中文字幕色网站| 亚欧在线免费观看| 男人和女人啪啪网站| 国产一二三四区在线观看| 一级在线免费视频| 欧美极品欧美精品欧美图片| 粉嫩av一区二区三区天美传媒| 国产三级三级看三级| 日韩av在线第一页| 欧美一级视频在线播放| 丰满女人性猛交| 一区二区三区四区毛片| 国产九九在线观看| 妓院一钑片免看黄大片| 成人在线免费观看av| 日韩精品视频在线观看视频| 国产精品h视频| 手机精品视频在线| 久久6免费视频| 性欧美videossex精品| 国产超碰在线播放| 亚洲天堂网一区| 福利在线一区二区三区| 天美星空大象mv在线观看视频|