vue-router路由简单使用和示例(声明式导航和编程式导航)

1.理解vue-router

1. 说明

  1. 官方提供的用来实现SPA的vue插件
  2. github
  3. 中文文档:
  4. 命令安装 npm install vue-router --save

2. 相关API说明

  1. VueRouter(): 用于创建路由器的构建函数
 new VueRouter({
      // 多个配置项
    })
  1. 路由配置
  routes: [
      { // 一般路由
        path: '/about',
        component: About
      },
      { // 自动跳转路由(意思:如果请求/就自动跳到/about)
        path: '/', 
        redirect: '/about'
      }
    ]
  1. 注册路由器
import Vue from 'vue'
import router from './router'
// 创建vue配置路由器
new Vue({
   el: '#app',
   router,
   render: h => h(app)
})
  1. 使用路由组件标签(声明式导航)
 1. <router-link>: 用来生成路由链接
    <router-link to="/xxx">Go to XXX</router-link>
2. <router-view>: 用来显示当前路由组件界面
    <router-view></router-view>

备注: React是用配置路由

2.配置基本路由和声明式导航

  1. 效果
    在这里插入图片描述

  2. 路由组件
    Home.vue
    About.vue

  3. 应用组件: App.vue(声明式导航)

  <div>
      <!--路由链接-->
      <router-link to="/about">About</router-link>
      <router-link to="/home">Home</router-link>
      <!--用于渲染当前路由组件-->
      <router-view></router-view>  
  </div>
  1. 路由器模块: src/router/index.js
export default new VueRouter({
      routes: [
        {
          path: '/',
          redirect: '/about'
        },
        {
          path: '/about',
          component: About
        },
        {
          path: '/home',
          component: Home
        }
      ]
})
  1. 注册路由器: main.js
import Vue from 'vue'
import router from './router'
// 创建vue配置路由器
new Vue({
   el: '#app',
   router,
   render: h => h(app)
})
  1. 优化路由器配置
  linkActiveClass: 'active', // 指定选中的路由链接的class

7. 总结: 编写使用路由的3步

  1. 定义路由组件
  2. 注册路由
  3. 使用路由
  <router-link>
  <router-view>

3. 嵌套路由

  1. 效果
    在这里插入图片描述

  2. 子路由组件
    News.vue
    Message.vue

  3. 配置嵌套路由: router.js

 path: '/home',
    component: home,
    children: [
      {
        path: 'news',
        component: News
      },
      {
        path: 'message',
        component: Message
      }
    ]

5.3.4. 路由链接: Home.vue

<router-link to="/home/news">News</router-link>
	<router-link to="/home/message">Message</router-link>
<router-view></route-view>

4. 向路由组件传递数据

效果
在这里插入图片描述

总结:
在这里插入图片描述

方式1: 路由路径携带参数(param/query)

  1. 配置路由
children: [
        {
          path: 'mdetail/:id',
          component: MessageDetail
        }
      ]
  1. 路由路径
  <router-link :to="'/home/message/mdetail/'+m.id">{{m.title}}</router-link>
  1. 路由组件中读取请求参数
 this.$route.params.id

方式2: 属性携带数据

 <router-view :msg="msg"></router-view>

5. 缓存路由组件对象

  1. 理解
  1. 默认情况下, 被切换的路由组件对象会死亡释放, 再次回来时是重新创建的
  2. 如果可以缓存路由组件对象, 可以提高用户体验
  1. 编码实现
<keep-alive>
	<router-view></router-view>
</keep-alive> 

6. 编程式路由导航

  1. 效果
    在这里插入图片描述

  2. 相关API

  1. this.$router.push(path): 相当于点击路由链接(可以返回到当前路由界面)

  2. this.$router.replace(path): 用新路由替换当前路由(不可以返回到当前路由界面)

  3. this.$router.back(): 请求(返回)上一个记录路由

  4. this.$router.go(-1): 请求(返回)上一个记录路由

  5. this.$router.go(1): 请求下一个记录路由

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3中,使用Vue Router进行路由拆分可以帮助你更好地组织和管理你的路由配置。以下是一些步骤来实现路由拆分: 1. 安装Vue Router:首先,确保你的项目中已经安装了Vue Router。可以通过以下命令进行安装: ``` npm install vue-router@next ``` 2. 创建路由模块:创建一个新的模块来定义和配置你的路由。可以创建一个名为`router.js`的文件,并在其中导入VueVue Router: ```javascript import { createRouter, createWebHistory } from 'vue-router'; const routes = [ // 定义你的路由配置 ]; const router = createRouter({ history: createWebHistory(), routes, }); export default router; ``` 3. 定义路由配置:在路由模块中,通过`routes`数组来定义你的路由配置。每个路由对象应该包含一个`path`属性和一个`component`属性,分别指定路由的路径和对应的组件。 ```javascript import Home from './components/Home.vue'; import About from './components/About.vue'; const routes = [ { path: '/', component: Home, }, { path: '/about', component: About, }, // 更多路由配置... ]; ``` 4. 在主应用程序中使用路由:在你的主应用程序中,导入并使用创建的路由实例。你可以在`main.js`文件中完成这个步骤: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; const app = createApp(App); app.use(router); app.mount('#app'); ``` 现在,你已经成功拆分了你的路由配置。你可以在每个组件中使用`<router-link>`和`<router-view>`来进行导航和渲染路由组件。 注意:以上只是一个简单示例,你可以根据你的项目需求进行更复杂的路由配置和组织方。不过,以上步骤应该可以帮助你开始使用Vue Router进行路由拆分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值