vue中路由的简单使用

vue中路由的简单使用

一:安装我们的router插件
cnpm i -S vue-router
二:vue中路由的种类(这里列举两种,实际有三种)
1:hash路由(常用):vue-router插件监听页面地址栏的hash值变化,来进行页面切换(hash变了,页面不会改变)
2:H5 history模式:直接切换我们的地址,这种模式需要后端支持,把所有的页面路由指向我们的index.html

vue-router为一个vue的核心插件

将router注册为一个全局的组件,引入的router为一个class类,里面需要配置我们的数据。里面有一个routes属性:为一个数组[path: , component,chileren],mode(模式)

import Router from 'vue-router'
new Router({
	routes:[
	//重定向
	{path:,rediect:''},
	//组件
	{path:,component:}
	],
	//定义子路由,在定义子路由的时候,第一个/不能写,不然会认为是主路由
	{path:,component:,children:[]}
	mode:'hash'
})

在vue-router中定义一个路由的组件放置的地方,使用router-view来进行组件变化,亦或者使用router-link来进行组件变化,(router-link类似于a标签,需要我们自己去修改样式,所以一般不使用)

路由跳转进行,前进使用this. r o u t e r . p u s h ( ) , 后 退 使 用 t h i s . router.push(),后退使用this. router.push()退使this.router.back() 或者 this.$router.go()

三:vue中路由的传值方式
meta、params、query
meta能在路由定义、配置的时候传值,而params、query 不能在路由定义、配置的时候传值
meta、params没有办法在页面进行使用$.router.push()进行参数传递、
(特殊:params如果要在页面上传参数,可以用name属性,定义路由的时候,需要给定name属性,然后路由跳转的时候就用name属性,不用path。同时给定了name属性后,这个组件的默认子路由组件将不会显示)

query可以在页面上使用$.router.push()进行参数传递

params需要定义动态路在页面上进行参数传递,也就是在定义路由的时候,进行路由参数定义
接收参数:
在页面上this.$route.meat/query/parmas来接收参数
四:钩子函数

钩子函数是在一个事件触发的时候,在系统级捕获到了他,然后做一些操作。一段用以处理系统消息的程序。“钩子”就是在某个阶段给你一个做某些处理的机会

钩子函数: 1、是个函数或对象,在系统消息触发时被系统调用 2、不是用户自己触发的

一:路由跳转前的钩子函数(搭配mate使用,进行权限拦截)

router.beforEach(to,from,next)  //to 去哪个路由, from 来自那个路由,next 是否运行进行下一步操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue路由的实现方式有两种:hash模式和history模式。 1. hash模式 在hash模式下,路由信息会保存在URL的hash,以#号开头。例如:http://localhost:8080/#/home。Vue Router会监听URL的变化,当URL的hash发生变化时,会根据新的hash值切换到对应的组件。 2. history模式 在history模式下,路由信息会保存在浏览器的历史记录。例如:http://localhost:8080/home。Vue Router会使用HTML5的History API来实现路由切换。在history模式下,URL不再需要#号,看起来更加清晰。 在Vue使用路由,需要引入Vue Router,然后定义路由规则和对应的组件。最后在Vue实例挂载Vue Router。 例如: ``` import Vue from 'vue' import Router from 'vue-router' import Home from '@/components/Home' import About from '@/components/About' Vue.use(Router) export default new Router({ mode: 'history', routes: [ { path: '/', name: 'home', component: Home }, { path: '/about', name: 'about', component: About } ] }) ``` 这里定义了两个路由规则,一个是/,对应的组件是Home,另一个是/about,对应的组件是About。最后在Vue实例挂载Vue Router。 例如: ``` import Vue from 'vue' import App from './App.vue' import router from './router' Vue.config.productionTip = false new Vue({ router, render: h => h(App) }).$mount('#app') ``` 在模板使用路由链接和路由视图,例如: ``` <router-link to="/">Home</router-link> <router-link to="/about">About</router-link> <router-view></router-view> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值