首先要明白vue就是用的一个个组件来组成一个界面,那么这些界面的切换就要靠router来完成一开始是加载index.html来放上App.vue作为祖组件,其他的组件都可以布置在这个祖组件上
然后我新建了Test.vue与Test2.vue
Test.vue中的是
<template>
<div id="name">
<h>{{ msg1 }}</h>
</div>
</template>
<script>
// @ is an alias to /src
export default {
data () {
return {
msg1:'欢迎'
}
}
}
</script>
Test2.vue
<template>
<div class="test2">
我是Test2页面
</div>
</template>
然后在router中来注册页面
index.js
import Vue from 'vue'
import Router from 'vue-router'
import VueRouter from 'vue-router'
Vue.use(Router)
//以下是注册页面
import HelloWorld from '@/components/HelloWorld'
import Test2 from '@/components/Test2.vue'
import Test from '@/components/Test.vue'
//配置访问的路径
const routes=[
{
path: '/test',
component: Test//这里要注意
},
{
path: '/HelloWorld',
component: HelloWorld
},
{
path: '/test2',
component: Test2
}
]
//实例化vuerouter
const router=new VueRouter({
mode:'history',
routes
})
export default router;//将router抛出,有main.js接回
main.js
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App.vue'
import router from './router/index.js'
//导入路由
/* eslint-disable no-new */
//引入路由
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
然后在App.vue中写入router
<template>
<div id="app">
<img src="./assets/logo.png">
<h>{{msg1}}</h>
<router-view></router-view>
<!--路由匹配到的都加在在这里-->
<router-link :to="'/test'"><ul>Test</ul></router-link>
<router-link to="/test2"><ul>Test2</ul></router-link>
</div>
</template>
<script>
</script>
<style scoped>
h1, h2 {
font-weight: normal;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>
运行结果的界面
点击Test2
关于我的错误呢是redirect与component的用法不理解造成的
我在index.js中加了一个Helloworld的重定向
{
path:'/goHome',
redirect:'/HelloWorld'
},
在App.vue中加了跳转的按键,点击后出现如下的界面,在Helloworld.vue中,我写进去了欢迎两个字,显示了出来
<router-link to="/goHome"><ul>首页</ul></router-link>
要注意重定向与component的用法。。。。。。。。。。。。