日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue中的组件导航守卫,个人理解

發(fā)布時間:2025/3/21 vue 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue中的组件导航守卫,个人理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

vue中組件導(dǎo)航守衛(wèi)

beforeRouteEnter
beforeRouteUpdate (2.2 新增)
beforeRouteLeave

今天有遇到一個問題,就是在一個頁面 新增模塊按鈕 和 編輯模塊按鈕 點(diǎn)擊之后彈出框都是同一個子組件
在點(diǎn)擊保存修改的時候調(diào)用的是同一個接口,那后臺就找我們溝通說 新增按鈕和 編輯功能的按鈕 要發(fā)兩次請求,意思就是把之前發(fā)一次請求,現(xiàn)在發(fā)兩次。

首先拿到這個問題,我看到兩個按鈕點(diǎn)擊之后都是通過this.$router.push 進(jìn)行跳轉(zhuǎn)的,跳轉(zhuǎn)過去都有攜帶參數(shù),我就想到了to,from,next 路由導(dǎo)航守衛(wèi)。我在跳轉(zhuǎn)的時候去傳遞參數(shù)。跳轉(zhuǎn)之后拿到參數(shù),根據(jù)參數(shù)去判斷。

組件內(nèi)的導(dǎo)航守衛(wèi),在組件渲染的時候,進(jìn)行判斷,大概解決思路就是這樣的

beforeRouteEnter(to, from, next) {// 在渲染該組件的對應(yīng)路由被 confirm 前調(diào)用// 不!能!獲取組件實(shí)例 `this`// 因?yàn)楫?dāng)守衛(wèi)執(zhí)行前,組件實(shí)例還沒被創(chuàng)建},beforeRouteUpdate(to, from, next) {// 在當(dāng)前路由改變,但是該組件被復(fù)用時調(diào)用// 舉例來說,對于一個帶有動態(tài)參數(shù)的路徑 /foo/:id,在 /foo/1 和 /foo/2 之間跳轉(zhuǎn)的時候,// 由于會渲染同樣的 Foo 組件,因此組件實(shí)例會被復(fù)用。而這個鉤子就會在這個情況下被調(diào)用。// 可以訪問組件實(shí)例 `this`},beforeRouteLeave(to, from, next) {// 導(dǎo)航離開該組件的對應(yīng)路由時調(diào)用// 可以訪問組件實(shí)例 `this`}

beforeRouteEnter 守衛(wèi) 不能 訪問 this,因?yàn)槭匦l(wèi)在導(dǎo)航確認(rèn)前被調(diào)用,因此即將登場的新組件還沒被創(chuàng)建。

不過,你可以通過傳一個回調(diào)給 next來訪問組件實(shí)例。在導(dǎo)航被確認(rèn)的時候執(zhí)行回調(diào),并且把組件實(shí)例作為回調(diào)方法的參數(shù)。

beforeRouteEnter (to, from, next) {next(vm => {// 通過 `vm` 訪問組件實(shí)例}) }

注意 beforeRouteEnter 是支持給 next 傳遞回調(diào)的唯一守衛(wèi)。對于 beforeRouteUpdate 和 beforeRouteLeave 來說,this 已經(jīng)可用了,所以不支持傳遞回調(diào),因?yàn)闆]有必要了。

beforeRouteUpdate (to, from, next) {// just use `this`this.name = to.params.namenext() }

這個離開守衛(wèi)通常用來禁止用戶在還未保存修改前突然離開。該導(dǎo)航可以通過 next(false) 來取消。

beforeRouteLeave (to, from, next) {const answer = window.confirm('Do you really want to leave? you have unsaved changes!')if (answer) {next()} else {next(false)} }

個人理解
在組件內(nèi)的導(dǎo)航守衛(wèi)中 ,只有 beforeRouterEnter中的next 才有回調(diào)函數(shù),在這個回調(diào)函數(shù)中可以去操作組件實(shí)例,意思就是在這個回調(diào)函數(shù)中可以去操作data狀態(tài)


越努力是越幸運(yùn),加油,干就完了

總結(jié)

以上是生活随笔為你收集整理的vue中的组件导航守卫,个人理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品爽爽久久久久久 | 天堂在线观看av | 性开放淫合集 | 成人动漫久久 | 国产97超碰 | 嫩草一区 | 五月激情啪啪 | 国产最新视频在线 | 日本久久高清视频 | fc2成人免费视频 | 亚洲网站一区 | 日韩免费在线观看 | 亚洲精品自拍视频 | 久久99国产精品久久99 | 欧美激情亚洲色图 | 国产模特av私拍大尺度 | 欧美日韩亚洲成人 | 三上悠亚 在线观看 | 一区二区内射 | 麻豆国产免费 | 午夜一区二区三区四区 | 韩日一级片 | 麻豆免费av | 国产电影一区二区三区 | 黑人一级| 黄色视屏在线 | 精品中文字幕一区 | 免费色站| 久久艹av | 国产xxxxx视频 | ts人妖在线观看 | 久久在线免费视频 | 色男人影院 | 国产情侣一区二区 | 揉我啊嗯~喷水了h视频 | aa黄色大片 | 日韩大胆视频 | 久久久久国产精品午夜一区 | 美女视频免费在线观看 | 找av导航| 视频一区二区免费 | 国产精成人| 黄a毛片| 又粗又大又硬毛片免费看 | 久久受 | 国产欧美精品一区 | 最新av | 免费成人美女在线观看. | 久久天堂精品 | 亚洲aaa级| 免费一级特黄特色毛片久久看 | 老司机久久 | 国产欧美又粗又猛又爽 | 少妇学院在线观看 | 国产精品丝袜黑色高跟鞋的设计特点 | av导航福利 | 这里只有精品在线观看 | 亚洲二区av | 1515hh成人免费看 | 欧美三级电影在线观看 | 精品人妻无码中文字幕18禁 | 国产日产精品一区二区 | 国产成人av一区二区三区 | 在线免费看污视频 | 日韩在线黄色 | 日韩精品一区在线观看 | 国产免费一区二区三区网站免费 | 国产嫩草影视 | 韩国三级丰满少妇高潮 | 黄色成人小视频 | 一级黄色影院 | 特级做a爰片毛片免费69 | 鲁丝av | 亚洲激情欧美 | 亚洲欧美日韩一区二区三区在线观看 | 免费在线观看毛片视频 | 无码精品一区二区三区在线播放 | 色综合狠狠操 | 亚洲天堂一区二区三区 | 少妇爽| 午夜激情网址 | 日本免费黄网站 | 欧美视频一区 | 在线免费播放 | 亚洲一二三av | jzzjzz日本丰满少妇 | 精品国产一区二区三区在线观看 | 亚洲视频在线免费 | 国产一级网站 | 日本免费无人高清 | 杨幂国产精品一区二区 | 香蕉av一区二区三区 | 国产视频一区二区不卡 | 亚洲第一av| 午夜色婷婷 | 国产伦精品一区二区三区免费 | 亚洲v日韩v综合v精品v | 无毛av| www.精品一区|