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

vue返回首頁后如何清空路由問題

 更新時(shí)間:2023年06月05日 14:58:44   作者:ジ Jing  
這篇文章主要介紹了vue返回首頁后如何清空路由問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue返回首頁后如何清空路由

需求一:從首頁點(diǎn)擊路由到A頁面

  • A頁面點(diǎn)擊路由到B頁面
  • B頁面點(diǎn)擊路由到C頁面
  • C頁面點(diǎn)擊路由鏈接到D頁面
  • D頁面有個(gè)返回首頁按鈕

那么問題來了

點(diǎn)擊返回首頁后,再點(diǎn)擊手機(jī)的返回鍵 會打開D頁面 再按手機(jī)返回鍵 會打開C頁面,依次類推,

如何才能實(shí)現(xiàn)點(diǎn)擊返回首頁后,清空路由呢

mounted () {
    if (window.history && window.history.pushState) {
        // 向歷史記錄中插入了當(dāng)前頁
        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', this.goBack, false);
    }
},
destroyed () {
    window.removeEventListener('popstate', this.goBack, false);
},
methods: {
    goBack () {
        // console.log("點(diǎn)擊了瀏覽器的返回按鈕");
        sessionStorage.clear();
        window.history.back();
    },
} 

禁止有返回記錄

mounted () {
? ? if (window.history && window.history.pushState) {
? ? ? ? // 向歷史記錄中插入了當(dāng)前頁
? ? ? ? history.pushState(null, null, document.URL);
? ? ? ? window.addEventListener('popstate', this.goBack, false);
? ? }
},
destroyed () {
? ? window.removeEventListener('popstate', this.goBack, false);
},
methods: {
? ? goBack () {
? ? ? ? // console.log("點(diǎn)擊了瀏覽器的返回按鈕");
? ? ? ? history.pushState(null, null, document.URL);
? ? },
}?

需求二:把瀏覽器的記錄返回指定的頁面

mounted 中:
?if (window.history && window.history.pushState) {
? ? ? history.pushState(null, null, document.URL);
? ? ? window.addEventListener("popstate", _this.onClickLeft, false); ?//_this.onClickLeft是返回的點(diǎn)擊事件
? ? }
?methods: {
? ? onClickLeft() {
? ? // ? this.$route.query.radio支付頁面到指定頁面?zhèn)鞯膮?shù) 來判斷他的路由
? ? ? if (this.$route.query.radio == 1 || this.$route.query.radio == 2) {
? ? ? ? this.$router.push({ //返回指定頁面
? ? ? ? });
? ? ? } else {
? ? ? ? this.$router.go(-1); ?// 正常返回
? ? ? }
? ? },
// 將事件清除掉
?destroyed() {
? ? window.removeEventListener("popstate", this.onClickLeft, false);
? }

vue路由緩存的靈活清空

vue的路由緩存,靈活清空,在頁面離開時(shí)判斷

beforeRouteLeave:function(to, from, next){
    // 增加離開路由時(shí)清除keep-alive
    //rank寫在router.js的路由meta里面,用來判斷rank信息,可自由更改
    if (from && from.meta.rank && to.meta.rank && from.meta.rank == to.meta.rank)
    {//此處判斷是如果返回上一層,你可以根據(jù)自己的業(yè)務(wù)更改此處的判斷邏輯,酌情決定是否摧毀本層緩存。
        if (this.$vnode && this.$vnode.data.keepAlive)
        {
            if (this.$vnode.parent && this.$vnode.parent.componentInstance && this.$vnode.parent.componentInstance.cache)
            {
                if (this.$vnode.componentOptions)
                {
                    var key = this.$vnode.key == null
                                ? this.$vnode.componentOptions.Ctor.cid + (this.$vnode.componentOptions.tag ? `::${this.$vnode.componentOptions.tag}` : '')
                                : this.$vnode.key;
                    var cache = this.$vnode.parent.componentInstance.cache;
                    var keys  = this.$vnode.parent.componentInstance.keys;
                    if (cache[key])
                    {
                        if (keys.length) {
                            var index = keys.indexOf(key);
                            if (index > -1) {
                                keys.splice(index, 1);
                            }
                        }
                        delete cache[key];
                    }
                }
            }
        }
        this.$destroy();
    }
    next();
},

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue element 關(guān)閉當(dāng)前tab 跳轉(zhuǎn)到上一路由操作

    vue element 關(guān)閉當(dāng)前tab 跳轉(zhuǎn)到上一路由操作

    這篇文章主要介紹了vue element 關(guān)閉當(dāng)前tab 跳轉(zhuǎn)到上一路由操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue實(shí)現(xiàn)圖片預(yù)覽效果實(shí)例(放大、縮小、拖拽)

    Vue實(shí)現(xiàn)圖片預(yù)覽效果實(shí)例(放大、縮小、拖拽)

    現(xiàn)在項(xiàng)目中有這樣的一個(gè)需求,對上傳的圖片可以點(diǎn)擊之后在線預(yù)覽,這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)圖片預(yù)覽效果實(shí)例(放大、縮小、拖拽)的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • 詳解Electron中如何使用SQLite存儲筆記

    詳解Electron中如何使用SQLite存儲筆記

    這篇文章主要為大家介紹了Electron中如何使用SQLite存儲筆記示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 詳解uniapp如何解決H5頁面雙標(biāo)題

    詳解uniapp如何解決H5頁面雙標(biāo)題

    Uniapp打包到線上,會出現(xiàn)雙標(biāo)題問題,原因是:通過地址鏈接訪問時(shí),會有個(gè)瀏覽器自身的標(biāo)題,和uniapp自身的導(dǎo)航欄標(biāo)題重復(fù),本文給大家介紹了uniapp如何解決H5頁面雙標(biāo)題,需要的朋友可以參考下
    2024-10-10
  • vue中使用js-doc的案例代碼

    vue中使用js-doc的案例代碼

    這篇文章主要介紹了vue中使用js-doc的相關(guān)知識,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • vue-router 源碼實(shí)現(xiàn)前端路由的兩種方式

    vue-router 源碼實(shí)現(xiàn)前端路由的兩種方式

    這篇文章主要介紹了vue-router 源碼實(shí)現(xiàn)前端路由的兩種方式,主要介紹Hash 路由和History 路由,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • 詳解Vue中如何避免濫用watch

    詳解Vue中如何避免濫用watch

    這篇文章主要為大家詳細(xì)介紹了Vue中濫用watch帶來的問題以及如何解決,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • el-form表單el-form-item label不換行問題及解決

    el-form表單el-form-item label不換行問題及解決

    這篇文章主要介紹了el-form表單el-form-item label不換行問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue3中實(shí)現(xiàn)文本顯示省略號和tooltips提示框的方式詳解

    vue3中實(shí)現(xiàn)文本顯示省略號和tooltips提示框的方式詳解

    在?B?端業(yè)務(wù)中,我們經(jīng)常會遇到文本內(nèi)容超出容器區(qū)域需顯示省略號的需求,當(dāng)鼠標(biāo)移入文本時(shí),會出現(xiàn)?Tooltip?顯示完整內(nèi)容,最近,我也遇到了這樣的場景,接下來給大家介紹vue3中實(shí)現(xiàn)文本顯示省略號和tooltips提示框的方式,需要的朋友可以參考下
    2024-04-04
  • Element樹形控件el-tree懶加載并設(shè)置默認(rèn)展開和選中的效果

    Element樹形控件el-tree懶加載并設(shè)置默認(rèn)展開和選中的效果

    本文主要介紹了Element樹形控件el-tree懶加載并設(shè)置默認(rèn)展開和選中的效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論

三门峡市| 米脂县| 博兴县| 扎赉特旗| 长治县| 都安| 海盐县| 峨山| 丰城市| 华阴市| 繁峙县| 滁州市| 通化县| 吕梁市| 辛集市| 五峰| 牙克石市| 繁峙县| 南宫市| 姚安县| 民勤县| 绵竹市| 南漳县| 漳州市| 绍兴市| 东乡族自治县| 临桂县| 开化县| 东至县| 江源县| 革吉县| 合川市| 曲靖市| 惠安县| 抚宁县| 荔波县| 江源县| 娄底市| 高阳县| 常德市| 维西|