全局过滤器

// 定义一个全局过滤器
 
Vue.filter('dataFormat', function (input, pattern = '') {
 
  var dt = new Date(input);
 
  // 获取年月日
 
  var y = dt.getFullYear();
 
  var m = (dt.getMonth() + 1).toString().padStart(2, '0');
 
  var d = dt.getDate().toString().padStart(2, '0');
 
 
 
  // 如果 传递进来的字符串类型,转为小写之后,等于 yyyy-mm-dd,那么就返回 年-月-日
 
  // 否则,就返回  年-月-日 时:分:秒
 
  if (pattern.toLowerCase() === 'yyyy-mm-dd') {
 
    return `${y}-${m}-${d}`;
 
  } else {
 
    // 获取时分秒
 
    var hh = dt.getHours().toString().padStart(2, '0');
 
    var mm = dt.getMinutes().toString().padStart(2, '0');
 
    var ss = dt.getSeconds().toString().padStart(2, '0');
 
 
 
    return `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
 
  }
 
});

注意:当有局部和全局两个名称相同的过滤器时候,会以就近原则进行调用,即:局部过滤器优先于全局过滤器被调用! 键盘修饰符以及自定义键盘修饰符1.x中自定义键盘修饰符【了解即可】

Vue.directive('on').keyCodes.f2 = 113;

2.x中自定义键盘修饰符 通过Vue.config.keyCodes.名称 = 按键值来自定义案件修饰符的别名:

Vue.config.keyCodes.f2 = 113; 使用自定义的按键修饰符:

自定义指令 自定义全局和局部的 自定义指令:

// 自定义全局指令 v-focus,为绑定的元素自动获取焦点:
 
   Vue.directive('focus', {
 
     inserted: function (el) { // inserted 表示被绑定元素插入父节点时调用
 
       el.focus();
 
     }
 
   });
 
 
 
   // 自定义局部指令 v-color 和 v-font-weight,为绑定的元素设置指定的字体颜色 和 字体粗细:
 
     directives: {
 
       color: { // 为元素设置指定的字体颜色
 
         bind(el, binding) {
 
           el.style.color = binding.value;
 
         }
 
       },
 
       'font-weight': function (el, binding2) { // 自定义指令的简写形式,等同于定义了 bind 和 update 两个钩子函数
 
         el.style.fontWeight = binding2.value;
 
       }
 
     }

自定义指令的使用方式:


<input type="text" v-model="searchName" v-focus v-color="'red'" v-font-weight="900">