Vue路由器(详细教程)

路由:

1.理解:一个路由(route)就是一组映射关系(key-value),多个路由需要路由器(router)进行管理。

2.前端路由:key是路径,value是组件。

1、先安装vue-router路由

java 复制代码
npm i vue-router@3

2.main.js中应用插件

java 复制代码
import Vue from 'vue'
import App from './App.vue'
//引入VueRouter
import VueRouter from "vue-router";
//引入自己配置完的路由
import router from './router'

//关闭vue生产提示
Vue.config.productionTip = false
//应用插件
Vue.use(VueRouter)
new Vue({
  el:'#app',
  render: h => h(App),
  router:router
})

app.vue

javascript 复制代码
<template>
  <div>
    <div>
      <h2>Vue</h2>
    </div>
    <div>
<!--   原始html中我们使用a标签.实现页面的跳转 -->
<!--      <button><a href="home.html">AAAAAAAA</a></button><br>-->
<!--      <button><a href="about.html">BBBBBBBB</a></button>-->

      <!--Vue中借助router-link标签实现路由的切换 -->
      <router-link to="/home" active-class="active">Home</router-link><br>
      <router-link to="/about" active-class="active">About</router-link>
    </div>
    <div>
      <!--指定组件的呈现位置-->
        <router-view></router-view>
    </div>
  </div>

</template>

<script>

export default {
  name: 'App',
  components: {

  }
}
</script>

<style>

</style>

components.About.vue

javascript 复制代码
<template>
  <div>
    <h2>我是About</h2>
  </div>
</template>

<script>
export default {
  name: "MyAbout"
}
</script>

<style scoped>

</style>

components.Home.vue

javascript 复制代码
<template>
  <div>
    <h2>我是home</h2>
  </div>
</template>

<script>
export default {
  name: "MyHome"
}
</script>

<style scoped>

</style>

3.创建路由router文件夹

router.index.js

javascript 复制代码
//该文件专门用于创建整个文件的路由器
import VueRouter from 'vue-router'

import About from "@/components/About";
import Home from "@/components/Home";

//创建一个路由器
export default new VueRouter({
    routes:[
        {
            path:'/about',
            component:About
        },
        {
            path:'/home',
            component:Home
        }
    ]
})

完成:

相关推荐
腾讯TNTWeb前端团队6 小时前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
范文杰9 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪9 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪10 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy10 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom11 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom11 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom11 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom11 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom11 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试