久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue的路由動(dòng)畫(huà)切換頁(yè)面無(wú)法讀取meta值的bug記錄

瀏覽:8日期:2022-06-10 10:55:12
目錄
  • vue路由動(dòng)畫(huà)切換頁(yè)面無(wú)法讀取meta值的bug
    • 問(wèn)題原因
    • 解決方法
  • vue路由元信息meta
    • 路由元信息
    • 設(shè)置title
    • 權(quán)限校驗(yàn)(例:登錄校驗(yàn))
  • 總結(jié)

    vue路由動(dòng)畫(huà)切換頁(yè)面無(wú)法讀取meta值的bug

    在vue項(xiàng)目的二級(jí)路由中,想要通過(guò)設(shè)置路由表中的meta值,來(lái)判斷頁(yè)面的slide-left 和slide-right的方向。

    對(duì)于從左到右的排列,給routes依次設(shè)為1,2,3,4…的值,使其可以通過(guò)大小來(lái)判斷from和to,并顯示出不同的劃入 / 劃出效果

    {
    ?? ?path: "aaa",
    ?? ?name: "aaa",
    ?? ?component: aaa,
    ?? ?meta:1
    },
    {
    ?? ?path: "bbb",
    ?? ?name: "bbb",
    ?? ?component: bbb,
    ?? ?redirect:"bbb/baba",
    ?? ?meta:2,
    ?? ?children: [
    ?? ?{
    ?? ??? ?path: "baba",
    ?? ??? ?name: "baba",
    ?? ??? ?component: baba
    ?? ?}, {
    ?? ??? ?path: "ccc",
    ?? ??? ?name: "ccc",
    ?? ??? ?component: ccc
    ?? ?}, {
    ?? ??? ?path: "ddd",
    ?? ??? ?name: "ddd",
    ?? ??? ?component: ddd
    ?? ?}, {
    ?? ??? ?path: "eee",
    ?? ??? ?name: "eee",
    ?? ??? ?component: eee
    ?? ?}, {
    ?? ??? ?path: "fff",
    ?? ??? ?name: "fff",
    ?? ??? ?component: fff
    ?? ?}],
    },
    {
    ?? ?path: "ggg",
    ?? ?name: "ggg",
    ?? ?meta:4,
    ?? ?component: ggg
    },
    {
    ?? ?path: "hhh",
    ?? ?name: "hhh",
    ?? ?meta:3,
    ?? ?component: hhh
    },

    然鵝,

    在設(shè)置的過(guò)程中,其中一個(gè)路由始終無(wú)法讀到all這個(gè)路由中的meta:2

    導(dǎo)致切換路由的動(dòng)畫(huà)效果出了問(wèn)題

    問(wèn)題原因

    讀不到的meta的是因?yàn)樵O(shè)置了子路由以及重定向。

    解決方法

    把meta值加在它的子路由上,

    {
    ?? ?path: "bbb",
    ?? ?name: "bbb",
    ?? ?component: bbb,
    ?? ?redirect:"bbb/baba",
    ?? ?//meta:2,
    ?? ?children: [
    ?? ?{
    ?? ??? ?path: "baba",
    ?? ??? ?name: "baba",
    ?? ??? ?component: baba,
    ?? ??? ?meta:2
    ?? ?}, {
    ?? ??? ?path: "ccc",
    ?? ??? ?name: "ccc",
    ?? ??? ?component: ccc
    ?? ?}, {
    ?? ??? ?path: "ddd",
    ?? ??? ?name: "ddd",
    ?? ??? ?component: ddd
    ?? ?}, {
    ?? ??? ?path: "eee",
    ?? ??? ?name: "eee",
    ?? ??? ?component: eee
    ?? ?}, {
    ?? ??? ?path: "fff",
    ?? ??? ?name: "fff",
    ?? ??? ?component: fff
    ?? ?}],
    },

    vue路由元信息meta

    路由元信息

    定義路由的時(shí)候可以配置meta字段。

    那么我們可以利用meta字段來(lái)做什么呢?

    設(shè)置title

    ? ? name: "category",
    ? ? component: () => import("./view/creatBrainStorm/creat/category"),
    ? ? meta: {
    ? ? ? title: "卓腦"
    ? ? }

    我們可以在鉤子函數(shù)router.beforeEach中獲取meta中的title數(shù)據(jù),并設(shè)置為頁(yè)面標(biāo)題。

    router.beforeEach((to, from, next) => {
    ? const title = to.meta && to.meta.title
    ? if (title) {
    ? ? document.title = title
    ? }
    }

    權(quán)限校驗(yàn)(例:登錄校驗(yàn))

    {
    ? ? name: "cart",
    ? ? component: () => import("./view/cart"),
    ? ? meta: {
    ? ? ? title: "購(gòu)物車(chē)",
    ? ? ? requireAuth: true // 當(dāng)有這個(gè)字段的時(shí)候,我們就認(rèn)為這個(gè)路由頁(yè)面是要有登錄權(quán)限的
    ? ? }
    ? }

    檢查meta中元字段:

    if (to.meta.requireAuth) {
    ? ? // 不直接通過(guò)本地緩存進(jìn)行判斷,而是通過(guò)Vuex的屬性狀態(tài)進(jìn)行判斷
    ? ? if (store.state.user.token) {
    ? ? ? next()
    ? ? } else {
    ? ? ? next({
    ? ? ? ? path: "/login",
    ? ? ? ? query: { redirect: to.fullPath }
    ? ? ? })
    ? ? }
    ? } else {
    ? ? next()
    ? }

    總結(jié)

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

    標(biāo)簽: JavaScript
    相關(guān)文章:
    主站蜘蛛池模板: 国产精品美女久久久 | 精品视频一区二区三区在线观看 | 日日干夜夜操 | 欧美理论在线观看 | 影音先锋 色先锋 | 亚洲高清视频在线观看 | 国产精品美女久久久久久久久久久 | 久久精品一二三四 | 国产精品日韩欧美一区二区三区 | 欧美a级在线观看 | 亚洲精品成人在线 | 成人在线视频网站 | 日本三级在线观看中文字 | 欧美国产激情 | 日韩国产欧美 | 中文字幕在线免费播放 | 日韩精品一二三 | 欧美一区二区三区国产精品 | 毛片av片| 国产二区视频 | 国产精品一区二区精品 | 久久人人av | 成人无遮挡毛片免费看 | 亚洲综合色网 | 毛片入口| 色天天久久 | 粉色午夜视频 | 欧美日韩一区二区三 | 久久久久久久久久毛片 | 亚洲第一免费看片 | av资源中文在线 | 亚洲97 | 91中文字幕在线观看 | 国产精品日韩精品 | 国产成人精品综合 | 91久久久久久 | 国产日韩久久 | 国产精品二区三区在线观看 | 欧美日韩在线播放 | 四虎影院在线 | 九九综合九九 |