亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

vue的路由動畫切換頁面無法讀取meta值的bug記錄

瀏覽:6日期:2022-06-10 10:55:12
目錄
  • vue路由動畫切換頁面無法讀取meta值的bug
    • 問題原因
    • 解決方法
  • vue路由元信息meta
    • 路由元信息
    • 設置title
    • 權限校驗(例:登錄校驗)
  • 總結

    vue路由動畫切換頁面無法讀取meta值的bug

    在vue項目的二級路由中,想要通過設置路由表中的meta值,來判斷頁面的slide-left 和slide-right的方向。

    對于從左到右的排列,給routes依次設為1,2,3,4…的值,使其可以通過大小來判斷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
    },

    然鵝,

    在設置的過程中,其中一個路由始終無法讀到all這個路由中的meta:2

    導致切換路由的動畫效果出了問題

    問題原因

    讀不到的meta的是因為設置了子路由以及重定向。

    解決方法

    把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

    路由元信息

    定義路由的時候可以配置meta字段。

    那么我們可以利用meta字段來做什么呢?

    設置title

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

    我們可以在鉤子函數router.beforeEach中獲取meta中的title數據,并設置為頁面標題。

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

    權限校驗(例:登錄校驗)

    {
    ? ? name: "cart",
    ? ? component: () => import("./view/cart"),
    ? ? meta: {
    ? ? ? title: "購物車",
    ? ? ? requireAuth: true // 當有這個字段的時候,我們就認為這個路由頁面是要有登錄權限的
    ? ? }
    ? }

    檢查meta中元字段:

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

    總結

    以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

    標簽: JavaScript
    相關文章:
    主站蜘蛛池模板: 丝袜无码一区二区三区 | 十级毛片| 99久久免费看国产精品 | 自拍偷拍国语对白 | xxxxx性视频免费播放 | 国产大尺度吃奶无遮无挡网 | 一级啊片 | 欧美三级成人 | 韩国一级毛片视频免费观看 | 日本人成免费大片 | 精品欧美一区二区精品久久 | 在线免费一级片 | 久久er热这里只有精品免费 | xxxxxxx免费 | 国产欧美日韩亚洲精品区2345 | 国产成人啪午夜精品网站男同 | 成人区视频 | 午夜精品亚洲 | 午夜激情在线视频 | 制服丝袜第一页在线观看 | 一区二区在线观看视频在线 | 影音先锋5566手机在线播放 | 欧美大片aaaa一级毛片 | 国产综合精品日本亚洲777 | 国产精品自拍在线 | 特级欧美视频aaaaaa | 九九热精品免费视频 | 精品视频一区二区三区在线播放 | 亚洲一区二区三区久久 | 国产情侣自拍偷拍 | 国产精品国产三级国产an不卡 | 美女视频黄a视频全免费网站一区 | 国产精品免费久久久免费 | 日韩一区二区在线观看 | 妞干网在线免费观看 | 欧美日韩亚洲综合在线一区二区 | 国产亚洲精品美女2020久久 | 欧美毛片在线观看 | 欧美a级片免费观看 | 欧美黄网站免费观看 | 精品久久香蕉国产线看观看亚洲 |