vue路由的原理:

main.js中引入路由:

组件定义:


路由配置:

- import Vue from 'vue'
- import VueRouter from 'vue-router'
-
- Vue.use(VueRouter)// 注册路由插件
-
- // 配置表
- const routes = []
-
- const router = new VueRouter({
- routes
- })
-
- export default router
- import Vue from 'vue'
- import VueRouter from 'vue-router'
- import FilmsView from '../views/FilmsView.vue'// 引入FilmsView.vue组件文件
- import CinemasView from '../views/CinemasView.vue'
- import CenterView from '../views/CenterView.vue'
-
- Vue.use(VueRouter)// 注册路由插件
-
- // 配置表,将路径和组件一一对应配置好
- const routes = [
- {
- path: '/films',
- component: FilmsView
- },
- {
- path: '/cinemas',
- component: CinemasView
- },
- {
- path: '/center',
- component: CenterView
- }
-
- ]
-
- const router = new VueRouter({
- routes
- })
-
- export default router
App.vue中插入显示:
- <div>
-
-
- <router-view>router-view>
- div>
结果:输入相应路径,就会加载对应组件:

注意一个问题:如果你要用@来表示src绝对路径,要进行配置;
整个路由配置的思路是:(文件之间的关系)
首先是main.js文件根据App和router这两个路径引入App.vue根组件和router路由,并把路由初始化在项目中;
然后它就会按照路由文件index.js中的配置加载我们上面定义的三大组件:FilmsView、CinemasView、CenterView;
然后我们在App.vue根组件中加了路径容器:<router-view>,意思是你子组件想要显示那就要经过我跟组件的同意,加上路径容器以后,只要路由配置对了,就可以在页面上显示。
重定向:加在配置表中
- // 重定向,优先级最低,只有没有路径了,才会用
- {
- path: '*',
- redirect: '/films'
- }