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 合并压缩 参考司徒正美 ...
随机推荐
- 部署ELK
1.搭建客户机Nginx ls[root@nginx ~]# hostname nginx [root@nginx ~]# cat /etc/redhat-release CentOS release ...
- 关于create-react-app(react-scripts@3.3.0)升级的坑
今天用create-react-app my-app,看到下面的提示: A template was not provided. This is likely because you're using ...
- Kubernetes1.16下部署Prometheus+node-exporter+Grafana+AlertManager 监控系统
Prometheus 持久化安装 我们prometheus采用nfs挂载方式来存储数据,同时使用configMap管理配置文件.并且我们将所有的prometheus存储在kube-system #建议 ...
- ubuntu 16.04中文输入法安装
转自: http://blog.csdn.net/u011795345/article/details/53041707 最近刚给笔记本装了Ubuntu+win10双系统,但是ubuntu16.04没 ...
- Codeforces Round #453 (Div. 1) 901C C. Bipartite Segments
题 http://codeforces.com/contest/901/problem/C codeforces 901C 解 首先因为图中没有偶数长度的环,所以: 1.图中的环长度全是奇数,也就是说 ...
- ...cURL error 60: SSL certificate problem: unable to get local issuer certificate...
问题描述: 在做PHP爬虫的时候, 安装了 guzzle 和 dom-crawler 之后, 调用的时候出现问题, 如下 报错内容: Fatal error: Uncaught GuzzleHttp ...
- addBack() 添加堆栈中元素集合到当前集合,一个选择性的过滤选择器。
addBack() 概述 添加堆栈中元素集合到当前集合,一个选择性的过滤选择器. 如上所述在讨论中的.end(), jQuery对象维护一个堆栈内部来跟踪匹配的元素集合的变化.当一个DOM遍历方法被调 ...
- Splay - restudy
https://www.zybuluo.com/wsndy-xx/note/1136246 图1 图2
- [Cogs] 线型网络
题面 http://cogs.pro:8080/cogs/problem/problem.php?pid=6 题解 https://www.zybuluo.com/wsndy-xx/note/1135 ...
- 【原创】洛谷 LUOGU P3366 【模板】最小生成树
P3366 [模板]最小生成树 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N ...