美文网首页壁纸小家让前端飞程序员
web前端vue:自定义指令directive

web前端vue:自定义指令directive

作者: 玩点小技术 | 来源:发表于2018-01-17 00:28 被阅读91次
    官网截图实例

    vue除了一些核心的内部定义的指令(v-model,v-if,v-for,v-show)外,vue也允许用户注册自己的一些功能性的指令,有时候你实在是要对Dom操作,这个时候是自定义指令最合适的了。
    来直接看例子:当页面加载时使得元素获得焦点(autofocus 在移动版 Safari 是不支持的),就是当页面加载好了,不做任何的操作使得表单自动获得焦点,光标自动在某个表单上代码如下:

    Vue.directive('zsqfocus', {  // 注册一个全局自定义指令 `v-zsqfocus`,在main.js文件里
      inserted: function (el) {   // 当被绑定的元素插入到 DOM 中时自动调用
        el.focus()   // 聚焦元素
      }
    })
    

    如果想注册局部指令,组件中也接受一个 directives 的选项:

    <script>
    export default {
        directives: {   // 指令的定义
            zsqfocus: {
                inserted: function (el) {  // 获得焦点
                  el.focus()
                }
            }
          }
        }
    </script>
    

    然后你可以在模板中任何组件上使用新的 v-zsqfocus 属性,如下:

    <template>
      <input v-zsqfocus /> //调用   
    </template>
    

    举了一个跟官网一样的例子,directives跟methods,mounted等是一个级别的可以同时使用。有不懂的朋友或喜欢vue的同学可以加我微信(nihaomeili87)我们一起进步!等你噢~

    相关文章

      网友评论

        本文标题:web前端vue:自定义指令directive

        本文链接:https://www.haomeiwen.com/subject/cefyoxtx.html