vue定义global.js,挂载在vue原型上面使用
首先在src目录下创建global目录,在global目录下创建index.js。
export default {
install(Vue) {
var that = this
// 1. 添加全局方法或属性
// ue.global = this
// 2. 添加全局资源
// 3. 注入组件
Vue.mixin({
created() {
this.global = that
}
})
// 大于一的整数验证,this.$jfjl,所有验证方法无判空功能,如若判空,请用required: true
Vue.prototype.$zsReg = (rule, value, callback) => {
let reg = /^(([-]\d+)|[-])?$/; //大于一的整数
if (reg.test(value) || !value) {
callback();
} else {
return callback(new Error("请输入大于1的整数"));
}
}
// 金额的校验
Vue.prototype.$jeReg = (rule, value, callback) => {
if (value > || value < ) {
callback(new Error("请输入小于200并且大于1的数字"));
} else {
let reg = /(^[-]([-]+)?(\.[-]{,})?$)|(^(){}$)|(^[-]\.[-]([-])?$)/; //1-200的数字,小数点后保留两位
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入正确的金额"));
}
}
}
Vue.prototype.$jeRegMax = (rule, value, callback) => {
let reg = /(^[-]([-]+)?(\.[-]{,})?$)|(^(){}$)|(^[-]\.[-]([-])?$)/; //小数点后保留两位
if (reg.test(value) || !value) {
callback();
} else {
return callback(new Error("请输入正确的金额"));
}
}
// 手机号的验证
Vue.prototype.$sjhReg = (rule, value, callback) => {
let reg = /^[]\d{}$/; //手机号码正则
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入正确的手机号"));
}
}
// 密码校验
Vue.prototype.$parsswordReg = (rule, value, callback) => {
let reg = /^(?![-]*$)[a-zA-Z0-]{,}$/; //密码校验
if (reg.test(value)) {
callback();
} else {
return callback(new Error("密码需要包含6-20位数字或字母,至少包含一位字母"));
}
}
Vue.prototype.$webReg = (rule, value, callback) => {
let reg = /^([hH][tT]{}[pP]:\/\/|[hH][tT]{}[pP][sS]:\/\/)(([A-Za-z0--~]+)\.)+([A-Za-z0--~\/])+$/; //网址的校验
if (reg.test(value)) {
callback();
} else {
return callback(new Error("链接地址不正确"));
}
}
Vue.prototype.$dateFormat = (timestamp) => {
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + < ? '' + (date.getMonth() + ) : date.getMonth() + ) + '-';
var D = (date.getDate() < ? '' + date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < ? '' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < ? '' + date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() < ? '' + date.getSeconds() : date.getSeconds());
return Y + M + D + h + m + s;
}
Vue.prototype.$dateFormatDay = (timestamp) => {
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + < ? '' + (date.getMonth() + ) : date.getMonth() + ) + '-';
var D = (date.getDate() < ? '' + date.getDate() : date.getDate()) + ' ';
return Y + M + D;
}
}
}
这里面是常用的几个element-ui自定义验证和时间格式化的代码,可以参考写一下自己需要的格式化或者验证规则。
然后我们需要在main.js引入global,并且使用它
import global from './global'
Vue.use(global)
之后我们就可以直接在页面中使用this.的方法调用这些自定义规则了。
vue定义global.js,挂载在vue原型上面使用的更多相关文章
- 关于Vue中main.js,App.vue,index.html之间关系进行总结
在初始化的Vue项目中,我们最先接触到的就是main.js,App.vue,index.html这三个文件,我们从培训视频或者官方文档上可以了解到: index.html---主页,项目入口 App. ...
- 050——VUE中使用js库控制vue过渡动作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue 在main.js里使用vue实例
可以用 Vue.prototype 比如 Vue.prototype.$indicator.close(); 关闭正在加载的动画
- VUE - vue.runtime.esm.js?6e6d:619 [Vue warn]: Do not use built-in or reserved HTML elements as component i
<script> export default { name:'header' // 不要使用内置或保留的HTML元素 , 改为Header或者置或保留的HTML元素 ...
- 02 . 处理axios的三个问题 :设置基路径/axios挂载到vue原型/请求时自动携带token
//使用API时必须在请求头中使用 Authorization 字段提供 token 令牌 import axios from 'axios' // 处理axios的三个问题 // 处理一:基路径 a ...
- vue 之node.js 02
文档 铺垫 以前网页制作web1.0 如今是web2.0-->交互式操作 前端工具 grunt gulp webpack :打包机 作用:将项目中的js,css,img,font,html等进行 ...
- Vue解析一之挂载全局变量与方法
1.在mian.js里面进行Vue对象的原型连的挂载Vue.prototype.$ajax = Ajax; 2.使用Mixin: VuVue.mixin({ data(){ return { Host ...
- 06Vue.js快速入门-Vue组件化开发
组件其实就是一个拥有样式.动画.js逻辑.HTML结构的综合块.前端组件化确实让大的前端团队更高效的开发前端项目.而作为前端比较流行的框架之一,Vue的组件和也做的非常彻底,而且有自己的特色.尤其是她 ...
- require.js 加载 vue组件 r.js 合并压缩
https://www.taoquns.com 自己搭的个人博客 require.js 参考阮一峰 Javascript模块化编程(三):require.js的用法 r.js 合并压缩 参考司徒正美 ...
随机推荐
- linux运维面试前,先来检查这些基础知识忘了没?
知乎上有这样一个问题:一个新手面试 Linux 运维工作至少需要知道哪些知识?其中有一个答案对这一话题的解读非常深入,今天特别分享给大家. 一.什么是大型网站运维? 首先明确一下,全文所讲的”运维“是 ...
- java中list和map的底层实现原理
Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程安全,效率 ...
- C# HttpClient使用 网络(一)
一.异步调用web服务 GetAsync() static void Main(string[] args) { Console.WriteLine("In main before cal ...
- OBDSTAR X300 PRO3详细评论
OBDSTAR 公司的X300 PRO3钥匙主控系统具有SKP900的防盗锁钥匙编程功能,以及新功能,例如,测速计调节,EEPROM / PIC和OBDII.它的风格完全符合工业惯例,例如,它采用双边 ...
- CMake编译OpenCV
使用CMake来编译OpenCV,以匹配自己使用的VS版本. 主要有两步: CMake编译OpenCV源码得到OpenCV.sln工程文件. VS编译OpenCV.sln. 以最新的cmake-3.1 ...
- git branch/meger step(3)
# update last repositories git pull git log # create yourself repositories base on last repositories ...
- HDU 5527 Too Rich ( 15长春区域赛 A 、可贪心的凑硬币问题 )
题目链接 题意 : 给出一些固定面值的硬币的数量.再给你一个总金额.问你最多能用多少硬币来刚好凑够这个金额.硬币数量和总金额都很大 分析 : 长春赛区的金牌题目 一开始认为除了做类似背包DP那样子 ...
- [Cogs] 线型网络
题面 http://cogs.pro:8080/cogs/problem/problem.php?pid=6 题解 https://www.zybuluo.com/wsndy-xx/note/1135 ...
- jQuery系列(二):jQuery的选择器
css中的选择器有:
- 对AM信号FFT的matlab仿真
普通调幅波AM的频谱,大信号包络检波频谱分析 u(t)=Ucm(1+macos t)cos ct ma称为调幅系数 它的频谱由载波,上下边频组成 , 包络检波中二极管截去负半周再用电容低通滤波,可 ...