zoukankan      html  css  js  c++  java
  • vue 自定义指令

    /**
     * 指令 
     * 判断当前菜单项是否显示
     * 给当前菜单添加 a标签 并添加href属性值
     */
    Vue.directive('menushow', {
      inserted: function(el, binding){
        el.style.display = binding.value === true ? 'block' : 'none'
        var link = el.attributes['to'].nodeValue
        var parent_node = document.createElement(binding.arg)
        parent_node.href = link
        el.parentNode.replaceChild(parent_node, el)
        parent_node.appendChild(el)
      }
    })
     
    /**
     * 只能输入数字 
     * 可以通过修饰符输入不同的条件 chart 数字+英文
      后续有要求继续添加。。
     */
    Vue.directive('only-num', function(el, binding){
      el = el || window.event
      var input = el.getElementsByTagName('input')[0]
      input.onkeyup = function() {
        var val = input.value
        var modifiersObj = binding.modifiers
        if(modifiersObj.chart){
          input.value = val.replace(/[^0-9a-zA-Z]/g, '')
          return
        }
        input.value = val.replace(/[^0-9]/g, '')
      }
    })
     
    //强制刷新指令 解决输入框偶现输入不进值的问题
    Vue.directive('forceUpdate', {
      inserted: function(el,binding,vnode,oldVnode) {
        var element
        if(el.getElementsByTagName('input')[0]){
          element = el.getElementsByTagName('input')[0]
        }else if(el.getElementsByTagName('textarea')[0]){
          element = el.getElementsByTagName('textarea')[0]
        }
        element.onblur = function(){
          vnode.context.$forceUpdate
        }
      }
    })
  • 相关阅读:
    Opencv之像素值的获取
    亚像素级角点检测
    Shi-Tomasi角点检测
    卡尔曼滤波
    Harris角点检测理论
    ROS2GO 与WIN10 双系统安装
    数字集成电路物理设计学习总结——物理设计建库域验证
    跨时钟域信号传输(二)——数据信号篇
    跨时钟域信号传输(一)——控制信号篇
    亚稳态与多时钟切换
  • 原文地址:https://www.cnblogs.com/bm20131123/p/12157426.html
Copyright © 2011-2022 走看看