VUE工具文件

Posted 知青先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE工具文件相关的知识,希望对你有一定的参考价值。

工具文件
/*
 工具文件
 */
var app = {
  /**
   * 获取当前时间
   */
  getCurrentDateTime: function() {
    const year = new Date().getFullYear();
    const month = new Date().getMonth() + 1 < 10 ? "0" + new Date().getMonth() + 1 : new Date().getMonth() +
      1;
    const date = new Date().getDate() < 10 ? "0" + new Date().getDate() : new Date().getDate();
    const hh = new Date().getHours() < 10 ? "0" + new Date().getHours() : new Date().getHours();
    const mm = new Date().getMinutes() < 10 ? "0" + new Date().getMinutes() : new Date().getMinutes();
    const ss = new Date().getSeconds() < 10 ? "0" + new Date().getSeconds() : new Date().getSeconds();
    const dateTime = year + month + date + hh + mm + ss;
    return dateTime;
  },


  /**
   * 生成uuid 10
   */
  uuid: function() {
    var s = [];
    var hexDigits = "0123456789abcdefghijklnopqrstuwvsyzABCDEFGHIJKLNOPQRSTUWVSYZ";
    for (var i = 0; i < 10; i++) {
      s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[5] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
    s[8] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[6] = s[4] = s[8] = s[9];
    return s.join("");
  },

  /**
   * 生成指定格式的时间
   * @param {*} timeStemp 时间戳
   * @param {*} flag 格式符号
   */
  formatTime: function(timeStemp, flag) {
    let time = new Date(timeStemp);
    let timeArr = [time.getFullYear(), time.getMonth() + 1, time.getDate()];
    return timeArr.join(flag || '/')
  },


  /**
   * @param {Object} data 入参对象
   * 判空处理
   */
  isEmpty: function(data) {
    if (data == null || data == "" || data.length <= 0 || typeof(data) == "undefined") {
      return true;
    }
    return false;
  },
  /**
   * @param {Object} key 目录id
   * @param {Object} value  目录数组
   */
  isArrayVal: function(key, value) {
    if (app.isEmpty(value) && app.isEmpty(key)) {
      return;
    } else { //根据key返回value
      for (var index in value) {
        if (value[index].id === key) {
          return value[index].topicName;
        }
      }
      return "";
    }
  },
  /**
   * @param {Object} key 主题key | 样式key --返回key
   * @param {Object} value 主题数组|样式数组
   */
  getIsSubjectId: function(key, value) {
    if (app.isEmpty(key) || app.isEmpty(value)) {
      return "";
    }
    return value.get(key);
  },
  /**
   * @param {Object} key 主题key | 样式key  移除key
   * @param {Object} value 主题数组|样式数组
   */
  removeIsSubjectId: function(key, value) {
    if (app.isEmpty(key) || app.isEmpty(value)) {
      return "";
    }
    return value.delete(key);
  },
  /**
   * @param {Object} key 主题key | 样式key --跟新key
   * @param {Object} value 主题数组|样式数组
   */
  setIsSubjectId: function(key, value, obj) {
    /* if (app.isEmpty(key) || app.isEmpty(value)) {
      return "";
    } */
    return obj.set(key, value);
  },
  clearshowWayListId: function(data) {
    if (app.isEmpty(data)) {
      return "";
    }
    if (data.length < 32) {
      return "";
    }
    return data;
  },
  /**
   * 获取对应的中文相等符号
   * @param {Object} data
   */
  compachToData: function(data) {
    if (app.isEmpty(data)) {
      return;
    }
    switch (data) {
      case "大于":
        return ">";
        break;
      case "大于等于":
        return ">=";
        break;
      case "小于":
        return "<";
        break;
      case "小于等于":
        return "<=";
        break;
      case "等于":
        return "==";
        break;
      default:
        "";
    }
  },
  /**
   * @param {Object} rgba 16进制颜色转换
   */
  hexify: function(rgba) {
    if (app.isEmpty(rgba)) {
      return;
    }
    var values = rgba
      .replace(/rgba?\\(/, '')
      .replace(/\\)/, '')
      .replace(/[\\s+]/g, '')
      .split(',');
    var a = parseFloat(values[3] || 1),
      r = Math.floor(a * parseInt(values[0]) + (1 - a) * 255),
      g = Math.floor(a * parseInt(values[1]) + (1 - a) * 255),
      b = Math.floor(a * parseInt(values[2]) + (1 - a) * 255);
    return "#" +
      ("0" + r.toString(16)).slice(-2) +
      ("0" + g.toString(16)).slice(-2) +
      ("0" + b.toString(16)).slice(-2);

  },
  /**
   * @param {Object} data rgpa中获取透明度
   */
  tmdToData: function(data) {
    if (app.isEmpty(data)) {
      return;
    }
    return data.split(",")[3].substring(0, data.split(",")[3].length - 1)
  },
  /**
   * @param {Object} arrayData 显示方式 数组
   * @param {Object} displayId 显示方式code
   */
  toDisplayIdArray: function(arrayData, displayId) {
    if (app.isEmpty(arrayData) || app.isEmpty(displayId)) {
      return "";
    }
    for (var i = 0; i < arrayData.length; i++) {
      if (arrayData[i].code == displayId) {
        return arrayData[i].name;
      }
    }
    return "";
  },
 //消息提醒  info|success|warning|error
      msgSubDialog: function(_this,type, content) {
            _this.$Message[type]({
              background: true,
              content: content
            });
      },
}
export default app;
工具文件
/*
 常量文件
 */
var config={
    //自定义key
    SHO_WWAY_KEY:"xxxx"
};
export default config;
引用方式
import Tool from '../../assets/js/tools';
import Constant from '../../assets/js/config';
--全局绑定
Vue.prototype.$tool = Tool;
Vue.prototype.$constant = Constant;
元素高度动态设置

模板标签

<Col span='8'  ref="page" :style="styleVal">

JS

参数
clientHeight: '',
styleVal:{
            height:'',
            'border:border': '1px solid #dcdee2',
          }
mounted:function(){获取浏览器可视区域高度
this.clientHeight = document.documentElement.clientHeight;
            let that = this;
            window.onresize = function(){//窗口事件:onresize 事件会在窗口或框架被调整大小时发生。
               that.clientHeight =  document.documentElement.clientHeight;
                if(that.$refs.page){
                    that.styleVal.height= (that.clientHeight - 280 )+'px';
                }
            }
},
 watch:{
       clientHeight(){     //如果clientHeight值 发生改变,这个函数就会运行
             this.changeFixed(this.clientHeight)
          }
    },
    methods: {//执行的方法体
      changeFixed(clientHeight){
    if(this.$refs.page){
       this.styleVal.height= clientHeight  - 280  + 'px';
    }
  }

以上是关于VUE工具文件的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段2——.vue文件的模板

vue —— VSCode代码片段

vue —— VSCode代码片段

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置