SOURCE

// export default {
//   install(Vue) {
//     Vue.directive('input-format', {
//       bind(el, binding) {
//         el.addEventListener('keyup', function(e) {
//           const inputFormat = InputFormat.create(binding.value)
//           inputFormat.init(binding.value)
//           e.target.value = inputFormat.format(e.target.value)
//         })
//       }
//     })
//   }
// }

// class InputFormat {
//   constructor() {
//     this.type = null
//     this.handlerObj = {
//       int: this.intFormat,
//       float: this.floatFormat
//     }
//     this.handler = null
//   }

//   static create(type) {
//     if (InputFormat.instance) return InputFormat.instance
//     InputFormat.instance = new InputFormat(type)
//     return InputFormat.instance
//   }

//   init(type) {
//     this.type = type
//     if (!this.type) throw new Error('还没有设置类型')
//     this.handler = this.handlerObj[this.type]
//     if (!this.handler) throw new Error('还没有设置过滤函数')
//   }

//   format(value) {
//     return this.handler(value)
//   }

//   intFormat(str) {
//     return str.replace(/\D|^0/g, '')
//   }

//   floatFormat(str) {
//     return str.replace(/\D|^0/g, '')
//   }
// }

let vnode = {elm: 'vnode'}
let oldVnode = {elm: 'oldVnode'}
const elm = vnode.elm = oldVnode.elm

console.log(elm)
console 命令行工具 X clear

                    
>
console