Vue 函数封装

  1. 格式化浏览器时间

    /**
    * 格式化时间
    * @param params
    * @param blo 默认为true
    * @returns {string}
    * @constructor 冯刚 2019年6月12日11点01分
    */
    function TimeConversion(params,blo=true){
    var stamp = Date.parse(params);
    var newDate= new Date(stamp);
    var year = newDate.getFullYear();
    var month = newDate.getMonth() + ;
    var date = newDate.getDate();
    var h = newDate.getHours();
    var m = newDate.getMinutes();
    var s = newDate.getSeconds();
    if(blo)
    return year + '-' + getNow(month) + "-" + getNow(date);
    return year + '-' + getNow(month) + "-" + getNow(date) + " " + getNow(h) + ':' + getNow(m) + ":" + getNow(s); }
  2. 校验字符串最后是否存在斜杠
    /**
    * 验证最后是否有反斜杠
    * @param value
    * @returns {*}
    * @constructor 冯刚 2019年6月12日
    */
    function Verification(value) {
    if (value.length > && value !== '') {
    var str = value.substr(value.length - , );
    if (str !== '/' && str !== '') {
    value += '/';
    }
    }
    return value;
    }
  3. 字符串加密
    /**
    * 加密
    * @param code 要加密的字符串
    * @returns {string}
    */
    function compileStr(code) {
    var c = String.fromCharCode(code.charCodeAt() + code.length);
    for (var i = ; i < code.length; i++) {
    c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - ));
    }
    return escape(c);
    }
  4. 字符串解密
    /**
    * 解密
    * @param code 要解密的字符串
    * @returns {string}
    */
    function uncompileStr(code) {
    code = unescape(code);
    var c = String.fromCharCode(code.charCodeAt() - code.length);
    for (var i = ; i < code.length; i++)
    c += String.fromCharCode(code.charCodeAt(i) - c.charCodeAt(i - ));
    return c;
    }
  5. 根据key获取浏览器地址后参数
    /**
    * js获取url传递指定参数,解决url中带中文乱码的问题(根据key获取value)
    * @param key
    * @returns {string|null}
    */
    function getQueryString(key) {
    var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr().match(reg);
    if (r !== null) return decodeURI(r[]); return null;
    }
  6. 文本框非空校验,文本框添加红色样式
    /**
    * 文本框非空验证
    * @param type 自定义类型(.或#)
    * @param name 页面中自定义类型名称
    * @author 冯刚 2019年6月12日
    */
    function isNotNull(type, name) {
    var temp, select;
    var isNull = false;
    if (checkValue(type, name))
    isNull = true;
    temp = type + name;
    if (!isNull)
    $($(temp)).each(function () {
    var _this = $(this);
    _this = reductionStyle(_this);
    temp = _this.children('input').val();
    select = _this.children('div').children('input').val();
    if (temp === '' || temp === null) {
    isNull = true;
    _this.children('input').css('border', 'solid red 1px');
    }
    if (select === '' || select === null) {
    isNull = true;
    _this.children('div').children('input').css('border', 'solid red 1px');
    }
    });
    return isNull;
    }
  7. 重置初始化样式
    /**
    * 重置初始化样式
    * @param type
    * @param name
    * @returns {boolean}
    */
    function resetStyle(type, name) {
    var temp;
    var isBool = false;
    if (checkValue(type, name))
    isBool = true;
    temp = type + name;
    if (!isBool)
    $($(temp)).each(function () {
    var _this = $(this);
    _this = reductionStyle(_this);
    isBool = true;
    });
    return isBool;
    }
  8. 数据封装成 data 对象,并且去除空格
    /**
    * 封装数据
    * @param data 数据对象(用于添加修改)部分可用
    */
    function packData(data){
    var vmData={};
    for (var o in data) {
    if (data[o] !== null && data[o] instanceof Array)
    vmData[o]=null;
    else{
    if(typeof data[o] === 'string' && data[o].length > )
    vmData[o]=data[o].trim();
    else
    vmData[o]=data[o];
    }
    }
    return vmData;
    }
  9. 动态绑定数据
    /**
    * 动态赋值(用于查看编辑)
    * @param orgObj
    * @param newObj
    * @returns {*}
    * @constructor fg 2019年6月12日
    */
    function AssignmentObject(orgObj, newObj){
    for (var o in orgObj) {
    if (!(orgObj[o] !== null && orgObj[o] instanceof Array))
    {
    for (var n in newObj){
    if(o==n){
    orgObj[o]=newObj[n];
    break;
    }
    }
    }
    }
    return orgObj;
    }
  10. 清空文本框内容,重置内容
    /**
    * 按钮重置内容
    * @param data
    */
    function clearContent(data) {
    var v_data = {};
    for (var o in data) {
    if (data[o] !== null && data[o] instanceof Array)
    v_data[o] = data[o];
    else {
    v_data[o] = null;
    }
    }
    return v_data;
    }
  11. 部分函数校验
    /**
    * 内部引用 还原样式
    * @param obj
    * @returns {*}
    */
    function reductionStyle(obj) {
    obj.children('input').css('border', '1px solid #dcdfe6');
    obj.children('div').children('input').css('border', '1px solid #dcdfe6');
    return obj;
    } /**
    * 内部引用 检测选择器以及类型名称是否输入全
    * @param key
    * @param value
    * @returns {boolean}
    */
    function checkValue(key, value) {
    var isBool = false;
    if (isCheck(key) && isCheck(value)) {
    isBool = true;
    alert('请检查选择器类型及名称');
    }
    if (isCheck(key)) {
    isBool = true;
    alert('选择器类型不能为空:(./#)');
    }
    if (isCheck(value)) {
    isBool = true;
    alert('选择器名称不能为空');
    }
    return isBool;
    } /**
    * 内部引用 校验值是否为空
    * @param value
    * @returns {boolean}
    */
    function isCheck(value) {
    value = value.trim();
    if (value === null || value === '' || value === 'undefined')
    return true;
    return false;
    }
  12. 获取当前时间
    /**
    * 校验时间
    * @param s
    * @returns {string}
    */
    function getNow(s) {
    return s < ? '' + s : s;
    } /**
    * 获取当前时间
    * @returns {string}
    */
    function getDate() {
    var myDate = new Date();
    var year = myDate.getFullYear();
    var month = myDate.getMonth() + ;
    var date = myDate.getDate();
    var h = myDate.getHours();
    var m = myDate.getMinutes();
    var s = myDate.getSeconds();
    return year + '-' + getNow(month) + "-" + getNow(date) + " " + getNow(h) + ':' + getNow(m) + ":" + getNow(s);
    }

    作者地址:https://www.cnblogs.com/FGang/p/11124070.html

vue 封装公用函数的更多相关文章

  1. vue封装公用弹出框方法,实现点击出现操作弹出框

    vue封装公用弹出框方法,实现点击出现操作弹出框 如上图所示,这次要实现一个点击出现操作弹框的效果:并将这个功能封装成一个函数,便于在项目的多个地方使用. 具体思路是: 封装一个组件,组件保护一个插槽 ...

  2. vue防抖节流函数---组件封装,防止按钮多次点击

    1.vue 封装utils.js /** * @param {function} func 执行函数 * @param {number} time 防抖节流时间 * @param {boolean} ...

  3. vue 防抖节流函数——组件封装

    防抖(debounce) 所谓防抖,就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间. 节流(throttle) 所谓节流,就是指连续触发事件但是在 ...

  4. vue封装插件并发布到npm上

    vue封装插件并发布到npm上 项目初始化 首先,要创建项目,封装vue的插件用webpack-simple很合适,vue init webpack-simple 项目名称此命令创建我们的项目的目录, ...

  5. 浅析vue封装自定义插件

    在使用vue的过程中,经常会用到Vue.use,但是大部分对它一知半解,不了解在调用的时候具体做了什么,因此,本文简要概述下在vue中,如何封装自定义插件. 在开始之前,先补充一句,其实利用vue封装 ...

  6. jQuery编写插件--封装全局函数的插件(一些常用的js验证表达式)

    上一篇写到了jQuery插件的3种类型,介绍了第一种类型的写法--封装jQuery对象的方法插件.这一篇要介绍第二种插件类型:封装全局函数的插件:这类插件就是在jQuery命名空间内部添加函数:这类插 ...

  7. delphi公用函数

    {*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 } ...

  8. wemall app商城源码Android之支付宝接口公用函数

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之  ...

  9. 使用promise手动封装ajax函数

    最近在做一个单页应用,node和浏览器仅通过json传输数据,因为是只有自己用等于是锻炼一下自己,所以也不用考虑seo的问题,node端我已经写好了,但是浏览器端想要用ajax原生太麻烦,用封装的函数 ...

随机推荐

  1. Python面向对象 | isinstance和issubclass

    isinstance(a,b):判断a是否是b类(或者b类的基类)实例化的对象 class A: pass class B(A): pass obj = B() print(isinstance(ob ...

  2. vue 工具函数的封装 时间格式化函数

    时间代码格式化工具函数的封装 小伙伴们,多封点工具函数,多封装点公共组件,多写点公共样式,照顾下互联网行业的新人把....~~~~~ /** yyyymmdd(new Date) -> &quo ...

  3. <虚树+树型DP> HNOI2014世界树

    <虚树+树型DP> HNOI2014世界树 #include <iostream> #include <cstdio> #include <cstring&g ...

  4. CF264D - Colorful Stones 题解

    题面 官方题解 模拟赛题解 题解概述: 定义符号A~B表示序列A是序列B的子序列,A!~B反之. 设操作序列为I,则有A~I,B!~I,C~I,D!~I. 可得出条件①B!~C且D!~A,所以我们只要 ...

  5. CF1174E Ehab and the Expected GCD Problem(DP,数论)

    题目大意:对于一个序列,定义它的价值是它的所有前缀的 $\gcd$ 中互不相同的数的个数.给定整数 $n$,问在 $1$ 到 $n$ 的排列中,有多少个排列的价值达到最大值.答案对 $10^9+7$ ...

  6. vue CSS使用/deep/

    比如你使用了别人的组件或者自己开发一个组件,有时候你修改一处就可能影响到别的地方,这个时候要么你不用别人的组件,自己重新封装一个,但很多时候是不太现实的,所以就需要有一个方法或者方式,既不影响到别的地 ...

  7. Sql Server怎样设置sa用户登录

    首先,我门打开数据库管理工具,用windows方式登录,windows只能本机登录,这样远程的客户端就登录不了,我们目前就是为了开启sa登录,使远程客户端也能访问数据库,看下图,windows方式登录 ...

  8. SCDM导入点数据

    我们有时候需要把外部的点导入SCDM当中,但是SCDM没有像ICEM或者DM那样直接提供点导入的选项,是不是SCDM就无法导入点的数据了呢?答案当然是否定的.把点导入SCDM中的方法总结如下(示例数据 ...

  9. 大数据(1)---大数据及HDFS简述

    一.大数据简述 在互联技术飞速发展过程中,越来越多的人融入互联网.也就意味着各个平台的用户所产生的数据也越来越多,可以说是爆炸式的增长,以前传统的数据处理的技术已经无法胜任了.比如淘宝,每天的活跃用户 ...

  10. 《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

    <Linux就该这么学>培训笔记_ch19_使用PXE+Kickstart无人值守安装服务 文章最后会post上书本的笔记照片. 文章主要内容: 无人值守系统 部署相关服务程序 配置DHC ...