时间:2021-05-26
vue-router 快速入门
配置路由
$ npm install vue-router --saveroutes.js
import Home from './pages/Home.vue'import Gifs from './pages/Gifs.vue'import User from './pages/User.vue'export const routes = [ { path: '', component: Home }, { path: '/gifs', component: Gifs }, { path: '/user/:id', component: User } //指定路由和对应要渲染的组件 //404的path应该是'*',要放在最末尾,当前面的都匹配不到时才匹配到404页面 //this.$route.params.id 可以从路由中拿到id数据]main.js
import VueRouter from 'vue-router'import { routes } from './routes'Vue.use(VueRouter)//路由初始化const router = new VueRouter({ routes})//将路由注入根组件new Vue({ el: '#app', ... router, render: h => h(App)})App.vue
<template> <div class="app"> <router-view></router-view> </div></template>在模板中标注出组件渲染的位置
#号的含义
#号前表示的是发送给服务端的请求,要求返回html文件,而#号后表示的是发送给本地js的请求以寻求解决
路由参数动态绑定
使用watch
watch: { '$route'(to,from) { //to当前路由,from上一个路由 this.id = to.params.id }}路由的数据传递
复制代码 代码如下:
<router-link :to="{ name: 'userEdit', params: { id: $route.params.id }, query: { locale: 'en', list: 2 } }"></router-link>
传query参数可以达到地址栏出现/?locale=en&list=2
通过 $route.query.键名 来访问
命名视图
router-view 可以通过配置名字 name 来指定组件渲染的位置,增加了组件的复用性,比如分成 header main hero footer 来分别在一个视图中的不同位置上加载不同的组件
组件懒加载
我们只需要加载我们需要的组件呈现给用户,而其他不需要第一时间加载的组件,可以使用 webpack 实现异步加载,只在需要的时候才会发出请求,请求加载另一个组件
routes.js
const User = resolve => { require.ensure(['./components/user/User.vue'], () => { resolve(require('./components/user/User.vue')) }, 'GroupName')}//webpack 异步加载,通过组名,将要同时一起加载的组件打包加载以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.在main.js中导入vue-router和组件importVueRouterfrom'vue-router';//导入vue-router并将它命名为Vu
一、安装1、安装路由vue-router:npminstallvue-routervue项目的依赖文件node_modules存在vue-router依赖,说明
一、引子要学习vue-router就要先知道这里的路由是什么?为什么我们不能像原来一样直接用标签编写链接哪?vue-router如何使用?常见路由操作有哪些?等
修改vue-router的配置文件,默认位置router/index.jsimportVuefrom'vue'importRouterfrom'vue-rout
注意:vue-router是无法完全控制前端路由权限。1、实现思路使用vue-router实例函数addRoutes动态添加路由规则,不多废话直接上思维导图:2