53.vue-router路由

1.在App.vue中写入:

<template>
  <div>
    <!-- vue-router基于路由和组件,路由是用来设定访问路径,将路径和组件映射起来 --> 
    <h1>Hello App!</h1>
    <p>
      <router-link to="/">Go to Home</router-link>
      <router-link to="/about">Go to About</router-link>
    </p>
    <!-- 路由出口,可以叫做一个占位符,路由匹配到的组件将渲染在这里 -->
    <router-view></router-view>
  </div>
</template>

2.创建views文件夹:存放路由组件,创建Home和About路由组件。
3.创建router—index.js文件:对路由的路径进行集中管理
(1)引入路由组件

import Home from '../views/Home.vue'
import About from '../views/About.vue'

(2)定义路由表,将路径和路由组件对应匹配。

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About },
]

(3)创建路由实例并传递routes配置,
这个routes其实就是上面路由表的routes。
从vue-router中引入createRouter,createWebHashHistory两个方法并使用。

//从vue-router引入这两个方法
import {createRouter,createWebHashHistory} from 'vue-router'

const router = createRouter({
  history: createWebHashHistory(),
  routes, // `routes: routes` 的缩写
})

4.在main.js中将实例进行挂载,将router挂载到app上面。
对于index.js和main.js是两个不同的文件,所以:导出、导入
(1)在index.js中先将router导出

export default router

(2)在main.js中先引入router,再挂载到app上。
注意顺序,router在app前面。

import { createApp } from 'vue'
import App from './App.vue'
import router from './router/index.js'

const app = createApp(App)
app.use(router)
app.mount('#app')

5.显示如下
在这里插入图片描述

<router-link to="/">Go to Home</router-link>
<router-link to="/about">Go to About</router-link>

router-link被解析为a标签,router-link可以根据你的路径(to属性后面是路径),这个路径就是你在index.js中配置的path,配置为"/“,则当你点击Go Home时,就会去找这个path路径,找到path之后,就会找到”/"后面对应的路由组件的内容。

根据路径来判断到底显示哪个内容,内容是怎么显示出来的,在router-link下有

<router-view></router-view>

它是一个占位符,使用router-view在这里占了位置,然后当匹配到路径之后,发现要展示的是Home路由组件中的内容,那么展示到哪里?就是展示到router-view占的地方,router-view其实也是一个组件。
相当于占位符,占一个位置用来存放路由组件中的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值