<input type="text" v-focus> 

 1.// 全局自定义指令  代码要放在new Vue的上面

    // 注册一个全局自定义指令 `v-focus`

    //  使用 Vue.directive() 定义全局的指令  v-focus

    //  其中参数1 :指令的名称,注意,在定义的时候,指令的名称前面,不需要加 v- 前缀

    //  但是:在调用的时候,必须在指令名称前 加上 -v 前缀来进行调用

    //  参数2:是一个对象,这个对象身上,有一些指令相关的函数,这些函数可以再特定的阶段,执行相关的操作

     Vue.directive('focus', {

      // 当被绑定的元素插入到 DOM 中时……

      inserted: function (el) {

        // 聚焦元素

        el.focus()

      }

    })

 <div v-fontweight='900' v-color="'pink'">{{msg}}</div>

    Vue.directive('color', {

      bind: function (el, binding) {

        el.style.color = binding.value

      }

    })

2、局部自定义指令

directives: {

        'fontweight': {

          bind: function (el, binding) {

            el.style.fontWeight = binding.value

          }

        },

3、简写方式

        'fontsize':  function (el, binding) {

            el.style.fontSize = parseInt(binding.value) + "px"

          }

      }

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <div id='app'>
    <!-- 参数一定要加引号 -->
    <div v-fontweight='900' v-color="'pink'">{{msg}}</div> 
    <input type="text" v-focus>
  </div>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>
    // 全局自定义指令
    // 注册一个全局自定义指令 `v-focus`
    //  使用 Vue.directive() 定义全局的指令  v-focus
    //  其中参数1 :指令的名称,注意,在定义的时候,指令的名称前面,不需要加 v- 前缀
    //  但是:在调用的时候,必须在指令名称前 加上 -v 前缀来进行调用
    //  参数2:是一个对象,这个对象身上,有一些指令相关的函数,这些函数可以再特定的阶段,执行相关的操作
    Vue.directive('focus', {
      // 当被绑定的元素插入到 DOM 中时……
      inserted: function (el) {
        // 聚焦元素
        el.focus()
      }
    })

    Vue.directive('color', {
      bind: function (el, binding) {
        el.style.color = binding.value
      }
    })
    var vm = new Vue({
      el: '#app',
      data: {
        msg: 'dsadsada萨达啊大萨达撒'
      },
      // 自定义私有指令
      directives: {
        'fontweight': {
          bind: function (el, binding) {
            el.style.fontWeight = binding.value
          }
        }
      }
    })
  </script>
</body>

</html>

<!-- 过滤可被用作一些常见的文本格式化,过滤器可以用在两个地方 mustache插值、v-bind表达式(其他地方一律不能用) -->
<!-- 优先调用私有过滤器 -->
Logo

前往低代码交流专区

更多推荐