vue-router的配置与简单使用。(初阶)

什么是vue-router?

因为vue是一个适合做SPA单页面的 框架,所以要实现(模拟)页面(组件)切换,就需要vue-router这个插件,而vue-router 这个插件并不是vue本身自带的东西,而是类似于第三方库的一种存在,所以在使用vue-router 之前需要去安装vue-router这个插件,又因为它是一个插件,所以需要安装在vue上,则使用vue.use 这个API 将插件安装到vue上。这样就可以在vue项目里面使用vue-router了

 import Vue from 'vue'
 import App from './App.vue'
 import VueRouter from 'vue-router'
 Vue.use(VueRouter)
 new Vue({
   render: h => h(App),
 }).$mount('#app')

如何使用vue-router?

先将vue-router安装到vue上,可以打造一个单独的路由模块(推荐),也可以在main.js主入口文件里面直接定义,通常都是打造一个单独的router模块,在这个模块里面,需要导出一个vue-router的实例。并且在main.js里面引入这个实例,建议在引入的时候变量名字起router 这样就可以在new vue 实例身上的对象里面的router这个属性挂载vue-router的实例的时候直接挂载router 。而不用router:XXX ,回到router模块里面接着说, 在这个模块里面需要导入两个必须的包,一个是vue 一个是vue-router 将vue-router 安装在vue上。 然后new一个 vue-router实例,这个实例接受一个options这个options 是一个对象。这个对象里面有几个属性,分别是routes(路由配置的规则)mode(路由模式,默认是hash路由,可以不写。)linkActiveClass(路由激活的class名字,可以不写。)而routes是一个数组套对象的形式出现的,其中每一个对象就是一个配置规则,这个对象里面有path:匹配的路径,component:路径匹配到展示的组件,组件需要提前引入,name:命名路由,redirect:路由重定向,就是匹配到某个path的时候重定向另一个path,children:子路由,就是路由嵌套的时候使用,在children里面也是一个数组加对象的呈现。

// 在主入口使用路由  main.js  
import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
let routes = [  // 打造路由规则
{
 name:'a',     // 命名路由
 path:'/a',    // 匹配到 /a 这个路径
 component:require('./components/A.vue')   // 展示 A 页面 
}
]

let router = new VueRouter({    // 打造路由实例
routes                       //传入options 的routes 
})

new Vue({
render: h => h(App),
router                     // 挂载路由

}).$mount('#app')


打造路由模块 (推荐 )
首先打造一个router.js

import Vue from 'vue'     //引入vue
import VueRouter from 'vue-router'   引入 vue-router
Vue.use(VueRouter)   //安装vuerouter 
import A  from '../components/A.vue'  // 引入A页面
import B  from '../components/B.vue'  // 引入B页面
import Nopage  from '../components/Nopage.vue'   // 引入找不到路径的时候展示的页面 

let routes = [     // 打造路由规则
    {
        name:'a',     // 命名路由
        path:'/a',   // 匹配路径 
        component:A,  // 展示页面  
        props:(route) => {     //  路由props 
            console.log(route);     
            
            return  {
                 ...route.params
              } 
        },

    },
    {
        name:'b',
        path:'/b',
        component:B
    },
    {
        path:'/',          //匹配到 / 
        redirect:'/a',    // 重定向到 /a      
    },
    {
        path:'*',         // 上面所有路径都找不到
        component:Nopage   // 展示丢失页面
    },
]
let router = new VueRouter({      // 打造路由实例
    routes,
    linkActiveClass:'sss'     //  定义激活时候的class 名字 
  
})
export default router    //  导出路由实例

在组件中使用路由

div>
    APP组件
    <router-link to="/a">展示A页面</router-link>     
    <br />
    <router-link  to="/b" >展示B页面</router-link>
    <router-view></router-view>            // 占位,显示匹配到路径的组件    
  </div>

以上就是路由的简易使用,大家如果有问题欢迎在评论区留言哦。喜欢博主的可以点点关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值