使用vue-router完成简单导航功能【推荐】
vue-router是Vue.js官方提供的一套专用的路由工具库
安装命令如下
npmivue-router-D
vue-router实例是一个Vue插件,我们需要在Vue全局引用中通过Vue.use()将它接入到Vue实例中。
在我们的工程中,,main.js是默认的程序入口文件,所有的全局配置都会在这个文件中进行。
我们在main.js中加入如下引用
importVueRouterfrom'vue-router' Vue.use(VueRouter)
这样就完成了vue-router最基本的安装工作了。
接下来我们要实现的功能描述如下
在首页上有两个链接分别是:购物车和个人中心
点击不同的链接显示不同的内容
首先我们在src目录下建立两个组件文件:Cart.vueMe.vue
新建的两个组件文件的内容暂时都是同样的结构
购物车
接下来就是在main.js文件中定义路由与这些组件之间的匹配规则了。
VueRouter的定义非常简单:创建一个VueRouter实例,将路由path指定到一个组件类型上
如下代码所示(main.js)
importVuefrom'vue' importAppfrom'./App.vue' importVueRouterfrom'vue-router' //引入创建的两个组件 importCartfrom'./Cart.vue' importMefrom'./Me.vue' //使用路由实例插件 Vue.use(VueRouter) constrouter=newVueRouter({ mode:'history', base:'__dirname', routes:[ //将页面组件与path指令的路由关联 {path:'/cart',component:Cart}, {path:'/me',component:Me} ] }) newVue({ el:'#app', //将路由实例添加到Vue实例中去 router, render:h=>h(App) })
我们可以将上面的路由有关的代码提取出来放在另外的一个routes.js文件中去,防止main.js文件的内容越来越长。
新建一个config文件夹,然后将routes.js文件加入进去。
则routes.js代码如下
importVuefrom'vue' importVueRouterfrom'vue-router' //引入创建的两个组件 importCartfrom'../Cart.vue' importMefrom'../Me.vue' //使用路由实例插件 Vue.use(VueRouter) constrouter=newVueRouter({ mode:'history', base:'__dirname', routes:[ //将页面组件与path指令的路由关联 {path:'/cart',component:Cart}, {path:'/me',component:Me} ] }) exportdefaultrouter;
然后main.js文件代码就减小到如下:
importVuefrom'vue' importAppfrom'./App.vue' importrouterfrom'./config/routes' newVue({ el:'#app', //将路由实例添加到Vue实例中去 router, render:h=>h(App) })
vue-router提供了两个指令标签
:渲染路径匹配到的视图组件
:支持用户在具有路由功能的应用中导航
在有了上面的两个指令标签,我们就可以在程序入口App.vue编写相应的代码了:
购物车 个人中心