美文网首页
你真的了解Vue指令吗?

你真的了解Vue指令吗?

作者: FTD止水 | 来源:发表于2019-04-08 22:03 被阅读0次

vue一共为我们提供了14种内置指令,分别是:

v-text  v-html  v-show  v-if  v-else  v-else-if  v-for  v-on  v-bind  v-model  v-slot  v-pre  v-cloak  v-onec    

这14中内置指令的功能都非常简单,如果有不知道的可以查阅vue官方文档,这里不做介绍。指令的本质就是语法糖或者说是标志位,目的是为了操作DOM,将操作DOM的逻辑封装成指令(简化代码量),然后交给编译器,最后生成js代码来渲染我们的页面
vue除了内置指令,还为我们提供了自定义指令,自定义指令又有5个生命周期钩子函数,分别是:

bind(直执行一次)  inserted  update(binding.value值改变时执行)  componentUpdated(binding.value值改变时执行)  unbind(直执行一次)

如何定义自定义指令呢?

1.定义全局自定义指令

// 注册一个全局自定义指令 v-focus,让input默认自动获取焦点
Vue.directive('focus', {
  // 当绑定元素插入到 DOM 中。
  inserted: function (el) {
    // 聚焦元素
    el.focus()
  }
})

2.定义局部自定义指令

directives: {
  focus: {
    inserted: function (el) {
      // 聚焦元素
      el.focus()
    }
  }
}

指令钩子函数各个参数含义Demo示例

<div id="hook-arguments-example" v-demo:hello.a.b="message"></div>
Vue.directive('demo', {
  bind: function (el, binding, vnode) {
    var s = JSON.stringify
    el.innerHTML =
      'name: '       + s(binding.name) + '<br>' +
      'value: '      + s(binding.value) + '<br>' +
      'expression: ' + s(binding.expression) + '<br>' +
      'argument: '   + s(binding.arg) + '<br>' +
      'modifiers: '  + s(binding.modifiers) + '<br>' +
      'vnode keys: ' + Object.keys(vnode).join(', ')
  }
})
new Vue({
  el: '#hook-arguments-example',
  data: {
    message: 'hello!'
  }
})

运行结果:


运行结果.png

自定义指令生命周期与vue实例生命周期执行循序?

beforeCreate()、created()、beforeMount()、bind()、inserted()、mounted();
以上是生命周期先后执行循序(可自行验证)

止水
于沈阳
2019/04/08 22:03

相关文章

  • 你真的了解Vue指令吗?

    vue一共为我们提供了14种内置指令,分别是: 这14中内置指令的功能都非常简单,如果有不知道的可以查阅vue官方...

  • Vue过滤器和vue-resource

    过滤器 之前我们学习了Vue的 vue基本指令 进阶学习,我们需要了解Vue的过滤器:Vue.js允许你自定义过滤...

  • 图解git指令(一)

    我们经常会使用git进行项目版本管理,但是你真的了解每条指令都在做什么吗?本文就带你看看每条指令的作用吧~ 最初状...

  • vue入门6---vue基本指令、自定义指令、插件

    一、vue常用指令概览 二、vue自定义指令 注册全局指令Vue.directive('my-directive'...

  • 你真的了解iOS代理设计模式吗?

    你真的了解iOS代理设计模式吗? 你真的了解iOS代理设计模式吗?

  • 你真的了解vue生命周期吗

    vue声明周期,在每个声明周期中都干了些什么? 1, vue的生命周期 beforeCreate: 组件实例刚刚被...

  • 你真的了解vue吗?vue3.0初体验

    @TOC 镇楼图--杀生丸.jpg 作者上篇文章已经对ue2.0响应式的一个原理做了比较详细的介绍,但2019年1...

  • Vue指令钩子函数

    Vue指令上篇文章有讲过了,现在分析Vue指令钩子函数。 自定义指令 全局定义:Vue.directive( ' ...

  • [Vue] 自定义指令

    自定义指令 Vue是不建议大家直接操作DOM的,但是Vue 允许你注册自定义指令,实质上是让你教 Vue 一些新技...

  • VUE补充指令与路由

    VUE除了主要的那些重要指令,还有几个不重要的指令需要了解。v-html v-once v-pre ...

网友评论

      本文标题:你真的了解Vue指令吗?

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