在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 相关文章推荐
js滚动条回到顶部的代码
Dec 06 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
Oct 11 Javascript
jquery按回车提交数据的代码示例
Nov 05 Javascript
基于Jquery和html5的7款个性化地图插件
Nov 17 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
Oct 14 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
vue微信分享 vue实现当前页面分享其他页面
Dec 02 Javascript
JS实现常见的查找、排序、去重算法示例
May 21 Javascript
angularJs中json数据转换与本地存储的实例
Oct 08 Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 Javascript
js实现经典贪吃蛇小游戏
Mar 19 Javascript
jquery实现简单每周轮换的日历
Sep 10 jQuery
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
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
javascript 进度条 实现代码
2009/07/30 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
python自动发微信监控报警
2019/09/06 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
Python模块常用四种安装方式
2020/10/20 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
大型晚会策划方案
2014/02/06 职场文书
婚宴致辞
2015/07/28 职场文书
教师研修随笔感言
2015/11/18 职场文书
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
pandas进行数据输入和输出的方法详解
2022/03/23 Python
基于Python实现射击小游戏的制作
2022/04/06 Python