在vue.js中抽出公共代码的方法示例


Posted in Javascript onJune 08, 2017

前言

当我们在使用vue构建中大型项目时,通常会遇到某些经常用的方法以及属性,比如说搭建一个员工管理系统,请求的url需要一个共同的前缀,或者在某几个view中需要用到时间,这个时间是通过某方法格式化之后的等等,如果每次用到都写共同的代码,那样如果之后有变动的话维护起来会非常麻烦。

所以我们就得想办法抽出公共代码,因为vue是组件化开发,我们就会很自然的与es6的module模块化联系到一起。其实当我们在搭建项目结构时就应该先提前埋下伏笔,有一个util文件夹,里面放的就是我们要写的公共代码,其实很多vue的例子都是类似于这种结构搭建的。

在vue.js中抽出公共代码的方法示例

对于固定的配置参数我们可以放到config.js中,就像下面这样。

const config = {
 request_prefix: 'http://localhost:10003',
 base_img: 'http://www.baidu.com',
 
}

const DingConf = function(data){
 xxxxxxxxx
}


export {config, DingConf}

对于常用的工具函数我们可以放到util.js中,结构跟上面一样。

然后为什么我要用export来导出,而不用export default呢?

因为前者更为灵活,因为对于大中型项目来说,我们的工具函数以及配置参数往往较多,如果我们使用export default导出的话,在组件中引入就会全部引入,但我们的需求是只在相应的页面中按需引入即可,所以在vue文件中,我们就可以这样写

import {config} from 'src/util/config'      // 引入模块
export default {
created(){


this.$http({



url: config.request_prefix + xxxxxxxxxxxxx  // 使用


})

}
}

这样写的优点是增强了可读性并利于维护。如果有同学不太理解es6中的import,export,建议大家去看下阮一峰大神的es6入门教程,在这里我也简单的说下吧,因为vue是模块化,所以就得导出某些东东,然后每个模块只负责不同的业务,所以嘛我们最后就得export一下,因为const是不变的常量,所以在配置项中尽可能用这个,在工具函数中用let声明变量,然后import后面的{ ... }就是引入某个模块的某些属性或方法,from 'xxxx' 这里面是指引入哪个模块。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
List the UTC Time on a Computer
Jun 11 Javascript
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
Aug 08 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 Javascript
JavaScript实现节点的删除与序号重建实例
Aug 05 Javascript
深入理解js中this的用法
May 28 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
Jul 01 Javascript
JavaScript学习笔记--常用的互动方法
Dec 07 Javascript
koa中间件核心(koa-compose)源码解读分析
Jun 15 Javascript
简单了解常用的JavaScript 库
Jul 16 Javascript
在VUE中使用lodash的debounce和throttle操作
Nov 09 Javascript
如何用Node.js编写内存效率高的应用程序
Apr 30 Javascript
Ionic3 UI组件之autocomplete详解
Jun 08 #Javascript
jQuery+ajax实现局部刷新的两种方法
Jun 08 #jQuery
gulp解决跨域的配置文件问题
Jun 08 #Javascript
angular 用拦截器统一处理http请求和响应的方法
Jun 08 #Javascript
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 #jQuery
Ionic项目中Native Camera的使用方法
Jun 07 #Javascript
详解angular ui-grid之过滤器设置
Jun 07 #Javascript
You might like
推荐一篇入门级的Class文章
2007/03/19 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
php socket通信简单实现
2016/11/18 PHP
用js生产批量批处理执行命令
2008/07/28 Javascript
jquery 表单进行客户端验证demo
2009/08/24 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
python3爬取各类天气信息
2018/02/24 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
numpy.array 操作使用简单总结
2019/11/08 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
python 项目目录结构设置
2020/02/14 Python
英国最大的奢侈珠宝和手表网站:C W Sellors
2017/02/10 全球购物
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
文员个人求职自荐信
2013/09/21 职场文书
《称象》教学反思
2014/04/25 职场文书
师德模范事迹材料
2014/06/03 职场文书
中队活动总结
2014/08/27 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
毕业生评语大全
2015/01/04 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS
浅谈MySQL user权限表
2021/06/18 MySQL
Python中递归以及递归遍历目录详解
2021/10/24 Python