Vue 路由
Posted zcccz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue 路由相关的知识,希望对你有一定的参考价值。
路由:路:路径(地址) 由:方向 针对于单页面应用,所提供的一个解决方案。根据地址传递的参数,来决定具体要使用的组件。 1、下载(如果已下载该步可以省略) cnpm install vue-router -S 2、引入 import Router from ‘vue-router‘ 3、安装: Vue.use(Router) 4、生成router对象 export default new Router( mode: ‘history‘, base: process.env.BASE_URL, routes: [ path: ‘/‘, name: ‘home‘, component: Home , path: ‘/about‘, name: ‘about‘, // route level code-splitting // this generates a separate chunk (about.[hash].js) for this route // which is lazy-loaded when the route is visited. component: () => import(/* webpackChunkName: "about" */ ‘./views/About.vue‘) ] ) ************************************************************** 引入组件有两种方法 1、import One from ‘@/views/One‘ path:"/one", component:One 2、 path:"/two", component:()=>import(‘@/views/Two‘) ************************************************** 路由如何引入子组件 1、在components下新建一个文件Child.vue 2、在路由组件当中使用时 1、 import Child from "@/views/Child" export default components: Child 2、 export default name: "one", components: Child:()=>import(‘@/components/Child‘) ************************************************ router-view:是一个内置的组件。将符合要求的路由所指向的组件进行渲染的地方。 router-link:是一个内置组件。可以实现组件的切换。 属性: 1、to:跳转到什么路由 * 地址是不区分大小写的。对大小写不敏感 * 如果地址相同,以第一次优先。 ***************************************** 404: path:"*", component:()=>import("@/views/Error") **************************************** 别名:可以通过“/"或“/home"来进行访问 path: ‘/‘, name: ‘home‘, alias:"/home", component: Home , * :提供了另外一种访问该路由的方式。 ***************************************** 重定向: path:"/lalala", redirect:"/two" , *当你的地址为lalala时,重定向到path为“/two" 的路由 **************************************** 如何实现路由的跳转 <router-link to="/">Home</router-link> | <router-link to="/about">About</router-link>| <!--<router-link to="/one">One</router-link>|--> <!--<router-link :to="one">One1</router-link>|--> <!--<router-link :to="path:‘/one‘">One2</router-link>|--> <router-link :to="name:‘xixi‘">One3</router-link>| <router-link to="/two">two</router-link>| ******************************************************************* 单页面多路由 path:"/three", // component:()=>import("@/views/Three") components: one:()=>import("@/views/One"), two:()=>import("@/views/Two"), three:()=>import("@/views/Three"), default:()=>import("@/views/MyTwo") template: one:<router-view name="one"/> <hr/> two:<router-view name="two"/> <hr/> three:<router-view name="three"/> <hr> <router-view></router-view> <hr> <router-view></router-view> ******************************************************************* * this.$route来得到当前路由的配置信息。 路由传值: 1、query 1、如何传递 <router-link to="/query?a=1&b=4">query</router-link>|--> <router-link :to="name:‘query‘,query:a:3,b:7">query</router-link>| <router-link :to="path:‘/query‘,query:a:1,b:3">query</router-link>| 2、如何接收 this.$route.query;// a:xx,b:xxx 优点:刷新数据不会丢失.还可以传递对象 2、params 1、如何传 *:params不可以与你的path结合使用。 <router-link :to="name:‘params‘,params:a:1,b:3">params</router-link> 2、接收: this.$route.params.// a:1,b:3 缺点:刷新数据不存在。 3、设置路由 1、配置路由 name:"setRouter", path:"/setRouter/:a/:b", component:()=>import("@/views/SetRouter") 2、传 <router-link :to="path:‘/setRouter/1/2‘">setRouter</router-link>| <router-link :to="path:‘/setRouter/1/2‘">setRouter</router-link>| 3、接收 this.$route.params ******************************************************************** 路由编程式导航:通过你的JS语句来控制你路由的跳转。 this.$router.push("/"); this.$router.push(name:"query",query:a:5,b:8); this.$router.push(name:"params",params:a:5,b:8); this.$router.go(-1):后退 this.$router.go(1):前进
以上是关于Vue 路由的主要内容,如果未能解决你的问题,请参考以下文章