vue路由介绍及使用

vue-router:官方提供的vue路由插件
使用流程:
下载:npm I -S vue-router
引用:import VueRouter from ‘vue-router‘
注册:Vue.use(VueRouter)
路由配置:
const routes=[
{path:‘/films‘,component:Films}, //path:路径 component:组件名
{path:‘/cinemas‘,component:Cinemas},
{path:‘/center‘,component:Center},
]
创建路由:
const router =new VueRouter({
routes
})
导出:export default router
使用路由:<router-view />
<router-view /> :路由容器,基于slot的封装
二级路由
二级路由是和一级路由是兄弟关系,跳转时页面会全部覆盖
const routes=[
{path:‘/a‘,component:A},
{path:‘/a/b‘,component:B}
]

嵌套路由
嵌套路由与一级路由是父子关系,可以实现局部跳转
const routes=[
{
path:‘/films‘,
component:Films,
children:[
{path:‘/film/nowplaying‘,component:NowPlaying},
{path:‘/films/comingSoon‘,component:ComingSoon},
]
}
}
<router-link />:路由跳转,默认为a标签,tag="li"改变标签,to="路由"
activeClass="类名":指定激活后的样式,跳转路由自动激活css样式
重定向路由
redirect:{path: ‘/film‘,redirect: ‘/film/nowplaying‘}

router-link编程式和声明式
声明式:<router-link :to="路由">
编程式:this.$router.push("路由")
this.$router.replace("路由") 替换一个路由 (不记录到历史记录)
this.$router.go() | back() 前进 | 返回

动态路由:
我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件。
动态路由:xx/:变量/xx
路径的变量会设置在this.$route.params中
模式 匹配路径 $route.params
/user/:username /user/evan { username: ‘evan‘ }
/user/:username/post/:post_id /user/evan/post/123 { username: ‘evan‘, post_id: ‘123‘ }

history和hash:
创建路由时有一个mode属性,默认是hash,代表路径地址有"#",若想去掉需要改成 mode:history
但是history路径容易跟后台接口路径冲突,如果 URL 匹配不到任何静态资源,则需要后端返回同一个 index.html 页面
hash #/home
history /home

const router =new VueRouter({
mode:history
})
路由原理:
1. hash路由 ==> location.hash 切换
window.onhashchange 监听路径的切换
2. history路由==> history.pushState 切换
window.onpopstate 监听路径的切换
全家桶
vue cli
vue router
vuex

原文地址:https://www.cnblogs.com/maozo/p/12573780.html

时间: 2024-09-30 16:27:19

vue路由介绍及使用的相关文章

vue 路由介绍

1.带参数的路由 export default new Router({ mode: 'history', //去掉# routes: [ { path: '/apple/:color', name: 'Apple', component: Apple }, ] })apple路由页面必须加上参数否则匹配不到页面,带引号的都是参数 :color也可以是这样的 /apple/:color/detail/:type通过this.$route.param 获取参数 参数为{color:red,type

Vue路由学习心得

GoodBoy and GoodGirl~进来了就看完点个赞再离开,写了这么多也不容易的~ 一.介绍  1.概念:路由其实就是指向的意思,当我们点击home按钮时,页面中就要显示home的内容,点击login按钮时,页面就显示login的内容,也可以说是一种映射,所有在页面上有两个部分,一个是点击部分,一个是显示部分. 2.路由中有三个基本的概念,route,routes,router. 1.route:它是一个路由,是一个单数,点击Home按钮->Home内容 2.routes:它是一组路由,

vue2+vuex+vue-router 快速入门(三) vue 实例介绍

vue 实例介绍 vue 实例分两种,一种为组件实例,另外一种为根实例.组件实例负责创建个性化组件.而根实例负责把组件渲染到指定的真实的 DOM 结构中.并且 vue 为我们提供了一种特殊的文件格式 .vue 来创建 组件实例..vue 文件格式如下: *.vue <template> ... </template> <script> export default { data(){ return {} } } </script> <style lan

Vue路由传参及传参后刷新导致参数消失处理

参考:https://blog.csdn.net/qq_43103581/article/details/82260073(vue 路由传递参数,刷新页面后参数丢失) 项目功能需要,要从列表页跳转到第三方提供的URL上(这里第三方页面我是通过iframe引入在详情页,目的是点击返回时可以通过keepAlive让列表页不刷新,如果不通过iframe直接跳第三方链接,那么返回必然会重新拉取数据),一路百度,刚开始使用 this.$router.push({name:'list', params:{i

【Vue路由系统详述】 -- 2019-08-08 18:01:24

目录 路由命名 路由参数 路由参数的实现原理 子路由 子路由之append 动态绑定属性 子路由之append升级版 子路由之非append 路由重定向 手动路由 路由钩子 在路径中去掉"#"号 原文: http://106.13.73.98/__/55/ 一切分离都是为了更好的结合,本文详细介绍了前后端架构分离之后,前端如何实现路由的控制,即Vue路由系统--VueRouter. VueRouter下载地址(默认最新版本):https://unpkg.com/[email prote

【Vue路由系统详述】 &#470097;

目录 路由命名 路由参数 路由参数的实现原理 子路由 子路由之append 动态绑定属性 子路由之append升级版 子路由之非append 路由重定向 手动路由 路由钩子 在路径中去掉"#"号 原文: http://blog.gqylpy.com/gqy/280 "一切分离都是为了更好的结合,本文详细介绍了前后端架构分离之后,前端如何实现路由的控制,即Vue路由系统--VueRouter. VueRouter下载地址(默认最新版本):https://unpkg.com/[e

vue路由的异步加载(懒加载)方法

vue路由的异步加载(懒加载)方法. javascriptvue.jsvue-router 阅读约 2 分钟 vue本身不多介绍.直接说问题,因为vue的所有路由都是加载在一个app.js里的,如果项目巨大,那么首页加载会是灾难.所以我们就需要把某些路由用异步加载(懒加载)的方式进行加载. 1.先来看正常的加载方式 import Login from "@/components/pages/signIn/signIn"; export default new Router({ rout

详解vue 路由跳转四种方式 (带参数)

详解vue 路由跳转四种方式 (带参数):https://www.jb51.net/article/160401.htm 1.  router-link ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1. 不带参数  <router-link :to="{name:'home'}"> <router-link :to="{path:'/home'}"> //name,path都行, 建议用name /

Vue路由重写# 与 Web服务器路由重写双配置实现路由重写

前言vue路由组件我使用的vue-routerweb服务器使用nginx Vue-router配置vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载http://localhost:8080/#/HelloWorld如果不想要很丑的 hash,可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面 const router