接文集上一篇(可以查看本文文集),已经书写了自己的组件,这里主要是路由的控制。
vue.js官方推荐使用官方插件vue-router
首先使用npm安装此插件
npm install --save vue-router
安装成功后,如下图所示,到目前为止,安装的版本为
在上一篇里建立的test.vue,在这篇中新建一个test2.vue插件,无需在App.vue中调用。
即打开这个页面的时候应该显示的值为testValue2。
在main.js中调用和定义路由,其代码如下所示。
import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
//开启debug模式
Vue.config.debug = true;
// 创建一个路由器实例
import test2 from './component/test2.vue'
import test1 from './component/test.vue'
const main={template:'<div>this is main page</div>'}
// 并且配置路由规则
const router = new VueRouter({
mode: 'history',
base: __dirname,
routes: [
{ path: '/', name: 'main', component: main },
{ path: '/test', name: 'test', component: test1 },
{ path: '/test2', name: 'test2', component: test2 }
]
})
new Vue({
el:'#app',
router,
render: h => h(App)
})
这里定义了一个常亮main作为打开/
目录时显示的文字,并且在路由为相应的路由显示相应的组件。
顺便将上一节中的App.vue恢复,并修改成如下图所示。
<template>
<div id="app">
<h1>Named Routes</h1>
<p>Current route name: {{ $route.name }}</p>
<ul>
<li><router-link :to="{ name: 'main' }">mian</router-link></li>
<li><router-link :to="{ name: 'test' }">test</router-link></li>
<li><router-link :to="{ name: 'test2' }">test2</router-link></li>
</ul>
<router-view class="view"></router-view>
</div>
</template>
<script>
export default {
name: 'app',
data () {
return {}
},
}
</script>
此时,服务器应该自动刷新页面,显示效果如下图所示。
done