vue-router4.0,vue router教程

  vue-router4.0,vue router教程

  目前Vurouter的最新版本是4.X,本文主要介绍如何快速上手VueRouter4.x的10分钟教程,有一定的参考价值。感兴趣的朋友可以参考一下。

  

目录

  写在前面URL.hash和History安装和使用过程router-link和Router-View Router-Link Router-View route lazy loading动态路由匹配所有路由都嵌套在最后。

  

写在前面

  Erouter是Vue团队开发的路由插件,与Vue.js核心深度集成,使得Vue构建单页程序非常简单。vurouter的最新版本是4。x,也是Vue3推荐的。在本文中,我们来了解一下vurouter 4.x。

  

URL.hash与History

  eRouter中有两种历史,即URL.hash和HTML5中提供的历史。

  Hash history对于没有主机(比如file://)的Web应用或者配置服务器无法处理任意URL,但是Hash的SEO很差的时候非常有用;

  历史历史在HTML5中是新的,对IE不是很友好,但是Vue3已经放弃IE了,不用考虑IE;这种方法是目前最常用的一种,但是应用程序必须由http协议提供服务。

  

安装与使用流程

  首先,我们使用以下命令安装Vue路由器:

  npm路由器

  然后在main.js中编写以下代码:

  从“vue”导入{ createApp }

  从导入应用程序。/App.vue

  //1介绍创建路由器

  从“vue-router”导入{ createRouter,createWebHistory }

  //2定义路由映射表

  常量路由=[

  /*更多路由器*/

  ]

  //3创建路由实例,并传递相应的配置。

  const router=createRouter({

  //此处使用了历史模式createWebHistory

  history: createWebHistory(),

  //传递路由映射表

  路线

  })

  createApp(应用程序)。使用(路由器)。挂载(#app)

  如果上面的代码中有很多路由,可以定义一个router.js文件,提取出来。示例代码如下:

  router.js

  导出默认值[

  /*更多路由器*/

  ]

  主页. js

  从“vue”导入{ createApp }

  从导入应用程序。/App.vue

  //2介绍路由映射表

  从导入路线。/路由器

  //1介绍创建路由器

  从“vue-router”导入{ createRouter,createWebHistory }

  //3创建路由实例,并传递相应的配置。

  const router=createRouter({

  //此处使用了历史模式createWebHistory

  history: createWebHistory(),

  //传递路由映射表

  路线

  })

  createApp(应用程序)。使用(路由器)。挂载(#app)

  或者* *直接在* * * router . js中直接导出一个路由实例,在main . js * *中使用即可(这种方法比较常用)。

  

router-link和router-view

  

router-link

  Router-link是Vue提供的自定义组件,用于创建链接。Vue中不使用本机A,因为A会在更改URL后重新加载页面,但router-link不会。有关路由器链路组件支持哪些属性的详细信息,请参考文档。

  

router-view

  路由器视图组件用于对应URL的组件,如以下代码:

  模板

  路由器-链接到=/hello

  img alt=Vue logo src=。/assets/logo.png

  //路由器链接

  路由器视图/路由器视图

  /模板

  那么我们router.js的代码如下:

  从“”导入RootComponent。/components/root.vue

  导出默认值[

  {

  路径:“/”,

  //引入组件

  组件:RootComponent

  },

  {

  路径:“/hello”,

  //路由延迟加载传入组件

  组件:()=导入(。/components/hello world . vue’)

  }

  ]

  有关其他配置项目,请参考文档。

  代码的运行结果如下:

  

路由懒加载

  当我们的应用越来越大的时候,打包的JavaScript代码就会特别大。这时候我们需要把整个应用拆分成不同的块,Vue路由器就支持这个功能。我们只需要使用动态导入替换静态导入即可,比如上面的代码:

  组件:()=导入(。/components/hello world . vue’)

  然后打包(webpack,Vite)工具会将这些动态导入的组件分别打包,如下图所示:

  

动态路由

  VueRouter允许我们动态设置路由匹配规则。比如我们现在有一个用户组件,组件的内容会根据不同的id显示不同的内容。设置方法只需要以参数名的形式设置即可。

  例如:

  {

  路径:“/user/:id”,

  component:()=import( @/components/User )

  }

  在模板中跳转如下:

  路由器链接到=/user/10010 /路由器链接

  或者hook useRouter提供的push方法,例如:

  从“vue路由器”导入{ useRouter }

  const {push}=useRouter()

  推({

  路径:“/用户”,

  参数:{ id: 10010 }

  })

  //或者

  让id=10010

  推送(/user/ id)

  可以通过useRoute的hook得到路由地址,和useroute的用法一致。

  

匹配所有路由

  VueRouter的动态路由允许我们匹配哪些路由不匹配。示例代码如下:

  {

  路径:“/:pathMatch(。*),

  组件:()=导入(。/components/Page404.vue ),

  },

  当之前的路由匹配不成功时,将匹配这条路由。

  

路由嵌套

  现在我们有一个需求,就是在HelloWorld组件下存储两个组件,我们需要切换这两个组件。

  这时候路由嵌套就发挥作用了。其实路由嵌套比较简单,就是通过路由配置中的一个children属性来实现。示例代码如下:

  HelloWorld.vue

  模板

  h1你好世界/h1

  差异

  style=

  显示器:flex

  justify-content:space-between;

  宽度:240px

  边距:0自动;

  路由器链接到= about about/路由器链接

  路由器链接到=用户用户/路由器链接

  /div

  路由器视图/路由器视图

  /模板

  router.js

  {

  路径:“/hello”,

  //路由延迟加载传入组件

  组件:()=导入(。/components/HelloWorld.vue ),

  儿童:[

  {

  路径:“关于”,

  组件:()=导入(。/components/about.vue ),

  },

  {

  路径:“用户”,

  组件:()=导入(。/components/user.vue ),

  },

  ],

  },

  子组件相对简单,只有一个h1标签,最终效果如下:

  

写在最后

  关于VueRouter4.x教程10分钟入门的这篇文章到此结束。有关VueRouter4.x入门的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: