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
        }
    ]
})

完成:

相关推荐
程序员大阳3 小时前
副队长JavaScript教程(49)-主动抛出异常与错误类型
javascript·异常处理·error·throw·错误类型
hhhjhl3 小时前
Protobuf.js 跨端三方库仓颉适配全流程
javascript·网络·udp
康小汪3 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
智能运维指南4 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
白山编程大哥5 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Flynt6 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
Csvn7 小时前
bundle优化
前端
slongzhang_7 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
北冥有鱼7 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
静默回滚7 小时前
视频压到 25 MB 以内,码率要算、音轨要扣、余量要留
前端