美文网首页
meta的使用和全局loadingbar day6

meta的使用和全局loadingbar day6

作者: zheng_zq | 来源:发表于2019-07-24 00:39 被阅读0次

现在项目主要存在二个问题。
第一个问题:当我们点击不同item切换到不同页面时,title没有变化,如下图:


image.png

第二个问题:当我们切换页面时,没有进度条。
我们先解决第一个问题。

导航守卫
  • 添加前置守卫和后置钩子


    image.png
    image.png

    添加之前修改一点东西:


    image.png
    image.png
    整体代码:
    index.js:
import Vue from 'vue'
import Router from 'vue-router'
import Test01 from '@/views/Test01'
import userlist from '@/views/user/userlist'
import userstatistics from '@/views/user/userstatistics'
import login from '@/views/login/login'
import home from '@/views/home/home'

Vue.use(Router)

const router = new Router({
  routes: [
    {
      path: '/login',
      name: 'login',
      component: login,
      meta: {
        title: '登录'
      }
    },
    {
      path: '/',
      name: 'Test01',
      component: Test01,
      meta: {
        title: '工作区域'
      },

      children: [
        {
          // path为空即默认页面 home.vue
          path: '',
          name: 'home',
          component: home,
          meta: {
            title: '首页'
          }
        },
        {
          path: 'userlist',
          name: 'userlist',
          component: userlist,
          meta: {
            title: '用户列表'
          }
        },
        {
          path: 'userstatistics',
          name: 'userstatistics',
          component: userstatistics,
          meta: {
            title: '用户统计'
          }
        },
        {
          path: 'home',
          name: 'home',
          component: home,
          meta: {
            title: '工作区域'
          }
        }
      ]
    }
  ]
})

export default router
router.beforeEach((to, from, next) => {
  if (to.meta && to.meta.title) document.title = '[OA] - ' + to.meta.title
  next()
})
router.afterEach((to, from) => {
  // ...
})

meta里面的title就是对应的标题,效果如图:

image.png
我们接下来解决第三个问题,做一个进度条。
先引入包:import iView from 'iview'
然后加入代码:
export default router
router.beforeEach((to, from, next) => {
  iView.LoadingBar.start()
  if (to.meta && to.meta.title) document.title = '[OA] - ' + to.meta.title
  next()
})
router.afterEach((to, from) => {
  iView.LoadingBar.finish()
})

效果如图:


image.png

在main.js添加以下代码可以改变进度条的颜色:

iView.LoadingBar.config({
  color:'#xxxxxx'
})

相关文章

  • meta的使用和全局loadingbar day6

    现在项目主要存在二个问题。第一个问题:当我们点击不同item切换到不同页面时,title没有变化,如下图: 第二个...

  • 路由元信息

    定义路由的时候可以配置 meta 字段 我们可以通过全局前置守卫beforeEach的to参数中获取meta

  • IE8兼容总结

    1:使用meta标签调节浏览器的渲染方式(使用meta标签来强制IE8使用最新的内核渲染页面)

  • 屏幕自适应

    先直接上代码 meta和@media匹配使用

  • HTML+JS中网页跳转的写法

    1、html中使用meta中跳转,通过meta可以设置跳转时间和页面 2、通过javascript中实现跳转 3、...

  • vue-meta使用方法

    vue-meta使用方法 本文介绍Vue3中vue-meta的使用方法 meta标签用于设置HTML的元数据(描述...

  • vue2升级vue3注意事项

    vite兼容 require.context 替换成import.meta.globEager scss 全局注入...

  • HTML中的meta标签常用属性及作用

    文章参考: HTML meta标签总结与属性使用介绍 和 HTML中的meta标签常用属性及其作用总结 在ht...

  • meta标签介绍和使用

    meta是html语言head区的一个辅助性标签。也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给...

  • vue 中使用 vue-meta-info

    vue-meta-info 使用方法安装 vue-meta-infonpm i vue-meta-info --s...

网友评论

      本文标题:meta的使用和全局loadingbar day6

      本文链接:https://www.haomeiwen.com/subject/beozlctx.html