vue路由

vue的路由全钩子函数示例

匿名 (未验证) 提交于 2019-12-03 00:22:01
1.全局钩子:主要包括beforeEach和aftrEach, to:router即将进入的路由对象 from:当前导航即将离开的路由 next:Function,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的);否则为false,终止导航。 //使用钩子函数对路由进行权限跳转 router . beforeEach (( to , from , next ) => { const role = localStorage . getItem ( 'ms_username' ); if (! role && to . path !== '/login' ){ next ( '/login' ); } else if ( to . meta . permission ){ // 如果是管理员权限则可进入,这里只是简单的模拟管理员权限而已 role === 'admin' ? next () : next ( '/403' ); } else { // 简单的判断IE10及以下不进入富文本编辑器,该组件不兼容 if ( navigator . userAgent . indexOf ( 'MSIE' ) > - 1 && to . path === '/editor' ){ Vue . prototype . $alert ( 'vue-quill

vue中的 mode:history 与路由的router.beforeEach钩子能共存吗?

匿名 (未验证) 提交于 2019-12-03 00:22:01
今天遇到一个问题,在路由定义的js中使用mode:history import Vue from 'vue' import Router from 'vue-router' import login from '@/components/login' import index from '@/views/index' Vue . use ( Router ) export default new Router ({ mode: 'history' , routes: [ { path: '/login' , name: 'login' , component: login }, { path: '/index' , name: 'index' , component: index } ] }) 然后再main.js中使用路由的生命钩子进行登录控制 router . beforeEach (( to , from , next ) => { if ( to . path != '/login' ) { next ({ path: '/login' }) } else { next () } }) 但是在页面使用时,我访问index对应的页面却没有跳转login。如果去掉mode:history 重启项目后 就可以使用了 这是不是因为i这两者之间冲突 还是我写的不对呀 有没有大佬帮看下

vue路由拦截及页面跳转

匿名 (未验证) 提交于 2019-12-03 00:19:01
路由设置:router/index.js export default new Router({ routes: [ { path: '/selfcenter', name: 'selfcenter', meta: { requireAuth: true // 配置此条,进入页面前判断是否需要登陆 }, component: selfcenter } ] }) main.js: login.vue: 登陆成功后: sessionStorage.setItem('sid', res.data.data.sid); // 设置本地存储信息 this.$router.push(this.$route.query.redirect); // 跳转至前一页,this.$route.query.redirect是获取上面传递过来的值 文章来源: vue路由拦截及页面跳转

Vue路由和Vuex

匿名 (未验证) 提交于 2019-12-03 00:16:01
vue-router2 安装 引入这种方式,但一般用倾向于用webpack模块化的方法 ,为了让package.json中打上一个log,后面加上--save-dev import Vue from 'vue'; import VueRouter from 'vue-router'; Vue.use(VueRouter) 重定向 const router = new VueRouter({ routes:[{ path:'/a',redirect:'/b' }] }) const router = new VueRouter({ routes:[{ path:'/a',redirect:{name:'foo'} }] }) const router = new VueRouter({ routes:[{ path:'/a',redirect:to=>{ //方法接收 目标路由 作为参数 //return 重定向 字符串路径或者路径对象 } }] }) 动态路由匹配 Vuex 来源:博客园 作者: solaris-wwf 链接:https://www.cnblogs.com/solaris-wwf/p/11781527.html

vue 路由跳转、传参和axios、cookie插件

匿名 (未验证) 提交于 2019-12-03 00:14:01
一、路由 跳转方式 this.$router.push('/course');  //根据标签 this.$router.push({name: course});  //根据名字 this.$router.go(-1); this.$router.go(1); // 有历史记录跳转 <router-link to="/course">课程页</router-link> <router-link :to="{name: 'course'}">课程页</router-link> //类a标签,无需刷新跳转 课程页面:   components文件下建立小组件CourseCard;   在views文件的Course页面渲染CourseCard(导入注册,组件产传数据); 课程详情页面跳转:   创建CourseDetail页面,rounter设置路由,在小组件内事件跳转页面(或绑定点击事件),跳转/course/detail/ 详情页的构建:   created函数内,通过for in遍历取值,获得; // for of 遍历的值 | for in 遍历的是取值的依据(arr是索引,obj是key) 二、传参三种方式 1)params(页面刷新就没有了,不保存,不建议使用) router.js routes: [ // ... { path: '/course/:id/detail'

Vue项目搭建

匿名 (未验证) 提交于 2019-12-03 00:14:01
一、 环境搭建 """ node ~~ python:node是用c++编写用来运行js代码的 npm(cnpm) ~~ pip:npm是一个终端应用商城,可以换国内源cnpm vue ~~ django:vue是用来搭建vue前端项目的 1) 安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 2) 换源安装cnpm >: npm install -g cnpm --registry=https://registry.npm.taobao.org 3) 安装vue项目脚手架 >: cnpm install -g @vue/cli 注:2或3终端安装失败时,可以清空 npm缓存 再重复执行失败的步骤 npm cache clean --force """ 二、Vue项目创建 1) 进入存放项目的目录 >: cd *** 2) 创建项目 >: vue create 项目名 3) 项目初始化 三、pycharm配置并启动vue项目 1、用pycharm打开vue项目 2、添加配置npm启动 ├―― v-proj | ├―― node_modules // 当前项目所有依赖,一般不可以移植给其他电脑环境 | ├―― public | | ├―― favicon.ico // 标签图标 | | └―― index.html // 当前项目唯一的页面

vue-router中$route 和 $router

匿名 (未验证) 提交于 2019-12-03 00:03:02
1.1 $route 表示(当前路由信息对象) 表示当前激活的路由的状态信息,包含了当前 URL 解析得到的信息,还有 URL 匹配到的 route records(路由记录)。 路由信息对象:即$router会被注入每个组件中,可以利用它进行一些信息的获取。 1 1. $route . path ** 2 字符串,对应当前路由的路径,总是解析为绝对路径,如 "/foo/bar" 。 3 2. $route . params ** 4 一个 key / value 对象,包含了 动态片段 和 全匹配片段, 5 如果没有路由参数,就是一个空对象。 6 3. $route . query ** 7 一个 key / value 对象,表示 URL 查询参数。 8 例如,对于路径 / foo ? user = 1 ,则有 $route . query . user == 1 , 9 如果没有查询参数,则是个空对象。 10 4. $route . hash ** 11 当前路由的 hash ֵ (不带 #) ,如果没有 hash 值,则为空字符串。锚点 12 5. $route . fullPath ** 13 完成解析后的 URL ,包含查询参数和 hash 的完整路径。 14 6. $route . matched ** 15 数组

admin-element-登陆

匿名 (未验证) 提交于 2019-12-03 00:03:02
做了一个结合admin和abp原生的vue模板。 现在新增两个登陆路由,假设为学生和教师,都指向原本的登陆界面。 问题1:新增完路由后,发现手动输入/student路由总是回到/login, 查看路由守卫后发现路由有白名单,在名单内的路由,无token时才不会被重定向。 解决:在白名单中加入新增的路由 问题2:点击登录,成功后还是回到/login路由。 发现有token后,守卫还是会对路由名进行判断,路由地址为/login的会被指向路由/ 解决:对这个判断进行修改,添加教师、学生路由。 const whiteList = [ '/login' , '/doctor' , '/nurse' ] // 不重定向白名单 router . beforeEach (( to , from , next ) => { NProgress . start () if ( window . abp . auth . getToken ()) { // con if ( whiteList . indexOf ( to . path ) !== - 1 ) { next ({ path : '/' }) NProgress . done () // if current page is dashboard will not trigger afterEach hook, so manually

vue路由跳转的三种方式

匿名 (未验证) 提交于 2019-12-03 00:03:02
1、router-link 【实现跳转最简单的方法】 <router-link to='需要跳转到的页面的路径> 浏览器在解析时,将它解析成一个类似于<a> 的标签。 1 2 3 4 #div和css样式略 <li > <router-link to= "keyframes" >点击验证动画效果 </router-link> </li> 别忘记给需要跳转的路径在需要提前在router/index.js下引入哦。   2、this.$router.push({ path:’/user’}) 常用于路由传参,用法同第三种 区别: 1.query引入方式 params只能用name来引入路由 而query 要用path引入 2.query传递方式 类似于我们ajax中get传参,在浏览器地址栏中显示参数 params则类似于post,在浏览器地址栏中不显示参数 在helloworld.vue文件中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <template> ..... <li @click= "change" >验证路由传参</li> </template> <script> export default { data () { return { id:43, //需要传递的参数 } },

vue-element-admin路由懒加载

匿名 (未验证) 提交于 2019-12-02 23:57:01
当打包构建应用时,Javascript 包会变得非常大,影响页面加载速度。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。 结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载。如: const Foo = () => import('./Foo.vue') 当你觉得你的页面热更新速度慢的时候,才需要往下看 ↓ lazy-loading 开发环境: module.exports = file => require('@/views/' + file + '.vue').default // vue-loader at least v13.0.0+ vue-loader at least v13.0.0+ 生产环境: module.exports = file => () => import('@/views/' + file + '.vue') http://www.kemaisii.cn http://www.eternelle.cn http://www.yajuxuan.cn http://www.nodonkg.cn http://www.yurunyipinn.cn http://www.niudangjiaa.cn http://www.feikeshoubiaoo.cn http