使用路由可以实现一个出口跳转两个页面。
效果
实现步骤:
第〇步,安装路由
安装路由注意你的vue版本,如果直接运行 npm install vue-router
命令会下载最新的版本,最新的版本适用于vue3.0,我使用的是2.7的版本,因此执行 npm install --save vue-router@3
命令。
如果需要卸载之前的路由,可以执行 npm uninstall vue-router
。
下面直接是在main.js中写的全部:
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
//1. 安装 引入路由
import VueRouter from 'vue-router'
Vue.use(VueRouter)
//2. 定义路由组件
import Home from "./views/Home.vue"
import news from "./views/news.vue"
//3.定义路由- 配置路由走向
const routes = [
{
path: "/", //页面的路径
component: Home //去哪个页面
},
{
path: "/news", //页面的路径
component: news //去哪个页面
}
]
//4. 创建router实例,然后传“routes”配置
const router = new VueRouter({
//routes : routes
routes
})
//5. 创建和挂载根实例
new Vue({
router, //router: router
render: h => h(App),
}).$mount('#app')
在这之前,我创建了两个页面,没有页面怎么来显示:
注意,这里的页面是在src的目录下的,名字可以自己定义一般叫做‘view’
最后,直接在App.vue中显示就可以了。
<template>
<div id="app">
app
<!-- 显示导航 -->
<div>
<router-link to="/">首页</router-link> |
<router-link to="/news">新闻页✌</router-link>
</div>
<!-- 显示路由出口 -->
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'App',
components: {
}
}
</script>
<style lang="less">
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>