美文网首页
vue-router常用配置

vue-router常用配置

作者: 牛妈代代 | 来源:发表于2019-07-12 10:50 被阅读0次

    本文介绍了在vue-cli中常用的router配置:
    1.在router/index.js中配置路径

    import Vue from 'vue'
    import Router from 'vue-router'
    
    import home from '@/page/home'        //引入组件文件
    import about from '@/page/about'
    import teacher from '@/page/teacher'
    import HelloWorld from '@/components/HelloWorld'
    import aboutIntr from "@/components/about-intr.vue"
    import aboutJoin from "@/components/about-join.vue"
    import aboutHistory from "@/components/about-history.vue"
    
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path:"/home",                    //路径
          name:"home",
          component:home,
          alias:"/"                            //别名,定义项目首页显示;        
        },
        {
          path:"/about",
          name:"about",
          component:about,
          children:[                               //定义二级路由,跟<router-view>使用可做选项卡;
            {path:"/",redirect:"intr"},       //rediect重定向;
            {
              path:"intr",
              component:aboutIntr
            },
            {
              path:"join",
              component:aboutJoin,
            },
            {
              path:"history",
              component:aboutHistory
            }
          ]
        },
        {
          path:"/teacher",
          name:"teacher",
          components:{                             // 命名多组件,通过具名路由实现也个页面显示多个组件
              default:teacher,
              left:HelloWorld
        }
        },
        {
          path: '/hello/:id',                 //定义动态路由
          name: 'HelloWorld',
          component: HelloWorld
        }
      ]
    })
    

    设置二级路由需要注意在index.html引入的文件的路径应为"/statice/css/reset.css",否则加载不到样式
    还有另一种常见的写法,如下:

    import Vue from 'vue'
    import VueRouter from 'vue-router'
    Vue.use(VueRouter)
    
    export default [{
        path: '/',
        component: App,
        children: [{
            path: '',
            component: r => require.ensure([], () => r(require('../page/home')), 'home')  //require.ensure按需加载,减少首页渲染时间
        }, {
            path: '/item',
            component: r => require.ensure([], () => r(require('../page/item')), 'item')
        }, {
            path: '/score',
            component: r => require.ensure([], () => r(require('../page/score')), 'score')
        },{
            path:"/test",
            component:function(r){
                require.ensure([],function(){
                    r(require('../page/home'))
                }, 'test')
            }
        }
    ]
    }]
    
    

    webpack 在编译时,会静态地解析代码中的 require.ensure(),同时将模块添加到一个分开的 chunk 当中。这个新的 chunk 会被 webpack 通过 jsonp 来按需加载。

    router-link相关属性
    (1)to:href属性,点击调用,router.push("/path") (2)replace:点击调用router.replace("/path"),点击不留下历史记录;
    (3)append:添加基路径
    (4)active-class:点击样式
    (5)exact-active-class:精准点击样式
    (6)event:自定义触发事件

    <router-link>有一个很好用的属性active-class,还有一个精准exact-active-class属性,可以做active效果,代码如下:

    <router-link  to="/about"  active-class="className">设计点击效果</router-link>
    

    相关文章

      网友评论

          本文标题:vue-router常用配置

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