在vue建立以后初始化一个路由的常规写法
1.npm下载路由
npm i vue-router
2.在目录下创建一个router文件夹专门用来放router配置文件,新建index.js
3.首先你新建两个vue组件About,Home 作为路由的两个跳转对象
<template>
<div class="hello">
这个是About组件
</div>
</template>
<script>
export default {
name: "About",
};
</script>
4.编写基础的路由文件该文件专门创建整个应用的路由器
该文件专门创建整个应用的路由器
在这里引入刚刚创建的两个组件
import VueRouter from 'vue-router'
//引入路由器
import About from '../pages/About'
import Home from '../pages/Home'
const router= new VueRouter({
routes:[
{
path:'/about',
component:About
},
{
path:'/home',
component:Home,
}
]
})
export default router
5.在main.js引入上一步创建的路由文件
//引入路由器
import router from './router/index.js'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
new Vue({
render: h => h(App),//是上面那个的缩写
router:router,//在这里加入文件
}).$mount('#app')
//$mount('app')等于 el:"#app"一样的意思
6.在父组件编写跳转的方法
<template>
<div id="app">
<thetitle></thetitle>
<div>
<!-- 导航区 -->
<router-link class="roulink" active-class="active" to="/about">about</router-link>
<router-link class="roulink" active-class="active" to="/Home">Home</router-link>
</div>
<div>
<!-- 页面显示区 -->
<router-view></router-view>
</div>
</div>
</template>
<script>
import axios from 'axios'
import thetitle from './components/Titile'
export default {
name: 'App',
components:{thetitle},
}
</script>
效果如下
需要注意的几点
1.注意vue的生命周期
每次切换不同的路由组件都是一次销毁 ,但是切换相同的就不会,比如a和b都会跳转到相同的组件,点击a再点击b,组件不会被销毁,但是若是a和b指向不同的路由组件,点击a再点击b,a指向的路由就会被销毁
2.注意文件的安放位置
普通的文件放在components
跳转的组件放在pages,
防止搞混