什么是路由?
1.一个路由就是一组映射关系(key-value)
2.key为路径,value可能是function或component
路由分类:
1.后端路由:
2.前端路由
vue的一个插件库,专门用来实现SPA应用
1.安装vue-router,命令:npm i vue_router
2.应用插件:Vue.use(VueRouter)
3.编写router配置项
//引入vueRouter
import VueRouter from 'vue-router'
//引入要显示的组件
import home from '../comonents/home'
//创建router实例对象,去管理一组一组的路由规则
const roter = new VueRouter({
routes:[
{
path:'abouts',
component:About
},
{
path:'/home',
compontent:Home
}
]
})
//暴露router
export default router
4.实现切换(active-class可配置高亮样式)
About
5.指定展示位置
- //router文件夹下的index.js文件
- //该文件专门用于创建整个应用的路由器
- import VueRouter from "vue-router"
- import homeRouter from '../components/homeRouter'
- import AboutRouter from '../components/aboutRouter'
-
- // 创建并暴露一个路由器
- export default new VueRouter({
- routes: [
- {
- path:'/about',
- component:AboutRouter
- },
- {
- path:'/home',
- component:homeRouter
- }
- ]
- })
- //main.js
- import Vue from 'vue'
- import App from './app.vue'
- // 引入store
- import store from './store/index'
- // 引入VueRouter
- import VueRouter from 'vue-router'
- // 引入路由器
- import router from './router'
- // 关闭Vue的生产提示
- Vue.config.productionTip = false
- // 应用创建
- Vue.use(VueRouter)
-
- new Vue({
- store,
- router:router,
- render: h => h(App),
- beforeCreate(){
- Vue.prototype.$bus=this
- }
- }).$mount('#app')
-
- //app.vue
- <div class="all">
- <div class="page-header">
- <h2>Vue Router Demoh2>
- div>
- <div class="page-body">
- <div class="row">
- <div class="list-group">
-
-
-
-
-
- <router-link to="/about" >Aboutrouter-link>
- <router-link to="/home" >Homerouter-link>
- div>
- div>
- <div class="panel">
-
- <router-view>router-view>
- div>
- div>
- div>
- <script>
-
- export default({
- name:'App',
-
- })
- script>
- <style scoped>
- a{
- text-decoration: none;
- }
- .list-group a{
- display: block;
- width: 100px;
- border: 2px solid gray;
- }
- a:hover{
- background-color: skyblue;
- }
- .page-body{
- display: flex;
- }
- style>
-
- //aboutRouter.vue
- <template>
- <div>
- <h3>我是about的内容h3>
- div>
- template>
-
- <script>
- export default {
- name:'aboutRouter'
- }
- script>
-
- <style>
-
- style>
- //homeRouter.vue
- <template>
- <div>
- <h3>我是home的内容h3>
- div>
- template>
-
- <script>
- export default {
- name:'homeRouter'
- }
- script>
-
- <style>
-
- style>
