现如今,每个前端对于Vue都不会陌生,Vue框架是如今最流行的前端框架之一,其势头直追react.最近我用vue做了一个项目,下面便是我从中取得的一点收获.

基于现在用vue+webpack搭建项目的文档已经有很多了,我就不再累述了.
技术栈
拦截器
首先我们要明白设置拦截器的目的是什么,当我们需要统一处理http请求和响应时我们通过设置拦截器处理方便很多.
这个项目我引入了element ui框架,所以我是结合element中loading和message组件来处理的.我们可以单独建立一个http的js文件处理axios,再到main.js中引入.
/**
* http配置
*/
// 引入axios以及element ui中的loading和message组件
import axios from 'axios'
import { Loading, Message } from 'element-ui'
// 超时时间
axios.defaults.timeout = 5000
// http请求拦截器
var loadinginstace
axios.interceptors.request.use(config => {
// element ui Loading方法
loadinginstace = Loading.service({ fullscreen: true })
return config
}, error => {
loadinginstace.close()
Message.error({
message: '加载超时'
})
return Promise.reject(error)
})
// http响应拦截器
axios.interceptors.response.use(data => {// 响应成功关闭loading
loadinginstace.close()
return data
}, error => {
loadinginstace.close()
Message.error({
message: '加载失败'
})
return Promise.reject(error)
})
export default axios
这样我们就统一处理了http请求和响应的拦截.当然我们可以根据具体的业务要求更改拦截中的处理.
路由拦截
我们可以通过路由拦截做什么?我认为最主要的便是对权限的控制,比如有的页面需要登录了才能进入,有些页面不同身份渲染不同.接下来简单的讲一下登录拦截.
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const router = new Router({
routes: [
{
path: '/',
/*
* 按需加载
*/
component: (resolve) => {
require(['../components/Home'], resolve)
}
}, {
path: '/record',
name: 'record',
component: (resolve) => {
require(['../components/Record'], resolve)
}
}, {
path: '/Register',
name: 'Register',
component: (resolve) => {
require(['../components/Register'], resolve)
}
}, {
path: '/Luck',
name: 'Luck',
// 需要登录才能进入的页面可以增加一个meta属性
meta: {
requireAuth: true
},
component: (resolve) => {
require(['../components/luck28/Luck'], resolve)
}
}
]
})
// 判断是否需要登录权限 以及是否登录
router.beforeEach((to, from, next) => {
if (to.matched.some(res => res.meta.requireAuth)) {// 判断是否需要登录权限
if (localStorage.getItem('username')) {// 判断是否登录
next()
} else {// 没登录则跳转到登录界面
next({
path: '/Register',
query: {redirect: to.fullPath}
})
}
} else {
next()
}
})
export default router
这样就做好了登录拦截.我们只需在main.js中引入router就可以了.
实现权限的控制我们还可以通过Vuex来实现,但是如果是小型项目就没必要引入Vuex了.
以上是我做项目过程中的一些收获,由于入Vue的坑也才两月不到,有些地方可能有不足之处,欢迎大家指正,我会悉心听取.也希望大家多多支持。
# vue
# axios
# 拦截
# 拦截器
# axios拦截设置和错误处理方法
# axios全局请求参数设置
# 请求及返回拦截器的方法
# Vue.js axios响应拦截如何获取返回状态码
# 判断是否
# 我们可以
# 加载
# 我是
# 我就
# 好了
# 我会
# 还可以
# 有很多
# 做什么
# 只需
# 我认为
# 就没
# 我用
# 能有
# 现如今
# 欢迎大家
# 我做
# 当我们
相关文章:
如何有效防御Web建站篡改攻击?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
如何用y主机助手快速搭建网站?
,有什么在线背英语单词效率比较高的网站?
大型企业网站制作流程,做网站需要注册公司吗?
独立制作一个网站多少钱,建立网站需要花多少钱?
如何在宝塔面板创建新站点?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
如何在自有机房高效搭建专业网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何用好域名打造高点击率的自主建站?
学校建站服务器如何选型才能满足性能需求?
如何在阿里云ECS服务器部署织梦CMS网站?
简单实现Android验证码
阿里云网站制作公司,阿里云快速搭建网站好用吗?
南京网站制作费用,南京远驱官方网站?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
手机网站制作与建设方案,手机网站如何建设?
建站之星如何快速更换网站模板?
建站之星安装模板失败:服务器环境不兼容?
如何快速启动建站代理加盟业务?
如何挑选高效建站主机与优质域名?
Swift中swift中的switch 语句
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
大同网页,大同瑞慈医院官网?
c++ stringstream用法详解_c++字符串与数字转换利器
建站VPS能否同时实现高效与安全翻墙?
如何选择高效响应式自助建站源码系统?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
详解jQuery停止动画——stop()方法的使用
高性能网站服务器配置指南:安全稳定与高效建站核心方案
头像制作网站在线制作软件,dw网页背景图像怎么设置?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
如何在服务器上三步完成建站并提升流量?
,网站推广常用方法?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
如何通过VPS搭建网站快速盈利?
如何选购建站域名与空间?自助平台全解析
c# Task.ConfigureAwait(true) 在什么场景下是必须的
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
,在苏州找工作,上哪个网站比较好?
如何选择高效便捷的WAP商城建站系统?
海南网站制作公司有哪些,海口网是哪家的?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
*请认真填写需求信息,我们会在24小时内与您取得联系。