推荐阅读:Vue.directive基础,在Vue模块开发中使用

全局指令

Vue.directive('全局自定义指令名称', { /* 自定义指令配置对象 */ })

私有指令

<template></template>

<script>
export default {
directives: {
'私有自定义指令名称': { /* 私有自定义指令配置对象 */ }
}
}
</script>

指令配置对象中 bindinserted 的区别

  • bind 方法:

    • 绑定当前指令的元素,在内存中被创建的时候就会被立即调用;指令所绑定到的元素,还没有被插入父节点中;

    • 推荐把样式相关的设置,都定义在 bind 方法中;

  • inserted 方法:

    • 绑定当前指令的元素,被插入到DOM树之后才会被调用;当指令所绑定到的元素,被插入到文档中的父节点时候,会立即触发 inserted 方法

    • 推荐把行为相关的设置,都定义在 inserted 方法中;

  • 演示 bind 和 inserted 的区别:

    • 在终端中打印 el.parentNode 即可

案例

index.js

import Vue from 'vue'

// 自定义指令的名称,在定义的时候,不需要加 v- 前缀,但是在使用的时候,需要加 v- 前缀
Vue.directive('red', {
// 当指定被第一解析的时候,就会触发 bind 方法,此时,指令所绑定到的元素,还没有被插入父节点中;
bind: function(el) {
el.style.color = 'red'
}
}) Vue.directive('blue', {
bind: function(el) {
el.style.color = 'blue'
// console.log(el.parentNode)
}
}) Vue.directive('color', {
bind: function(el, binding) {
// binding 是指令所绑定的一些数据,其中,binding.value 就是指令 = 后面的数据
// console.log(binding.value)
el.style.color = binding.value
}
}) // 自动获取焦点的指令
Vue.directive('focus', {
bind: function(el) {
// 通过 原生DOM对象的 focus 方法,可以让文本框自动获取焦点
// el.focus()
console.log('bind方法中打印如下:', el.parentNode)
},
// 当指令所绑定到的元素,被插入到文档中的父节点时候,会立即触发 inserted 方法
inserted: function(el) {
console.log('inserted方法中打印如下:', el.parentNode)
el.focus()
}
}) import app from './app.vue'
const vm = new Vue({
el: '#app',
render: c => c(app)
})

app.vue

<template>
<div>
<h1 v-red>App根组件</h1>
<my-home></my-home>
<hr>
<my-movie></my-movie>
</div>
</template> <script>
// 导入自己的私有组件
import Home from './Home.vue'
import Movie from './Movie.vue' export default {
components: {
'my-home': Home,
'my-movie': Movie
}
}
</script>

Vue.js(16)之 directive自定义指令的更多相关文章

  1. vue.js之过滤器,自定义指令,自定义键盘信息以及监听数据变化

    一.监听数据变化 1.监听数据变化有两种,深度和浅度,形式如下: vm.$watch(name,fnCb); //浅度 vm.$watch(name,fnCb,{deep:true}); //深度监视 ...

  2. Vue.directive 自定义指令

    一.什么是全局API? 全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,比如我们今天要学习的指令Vue.directive.说的简单些就是,在 ...

  3. Vue2.0 【第二季】第1节 Vue.directive自定义指令

    目录 Vue2.0 [第二季]第1节 Vue.directive自定义指令 一.什么是全局API? 二. Vue.directive自定义指令 三.自定义指令中传递的三个参数 四.自定义指令的生命周期 ...

  4. Vue2.x directive自定义指令

    directive自定义指令 除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令. 注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件——然而,有的 ...

  5. 浅析Vue.js 中的条件渲染指令

    1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> < ...

  6. Vue.directive 自定义指令的问题

    1.今天复习一下Vue自定义指令的代码,结果出现一个很无语的结果,先贴代码. 2. <div id="example" v-change-by="myColor&q ...

  7. Vue.directive自定义指令

    Vue除了内部指令,我们也可以定义一些属于自己的指令,比如我们要定义一个v-diy的指令,作用就是让文字变成红色. 写好了这个功能,我们现在就自己定义一个全局的指令.我们这里使用Vue.directi ...

  8. Vue directive自定义指令+canvas实现H5图片压缩上传-Base64格式

    前言 最近优化项目-手机拍照图片太大,回显速度比较慢,使用了vue的自定义指令实现H5压缩上传base64格式的图片 canvas自定义指令 Vue.directive("canvas&qu ...

  9. Vue input 控件: 通过自定义指令(directive)使用正则表达式限制input控件的输入

    前言: 网站中的input输入框使用非常广泛,因业务场景不同需要对输入框做合法性校验或限制输入,比如电话号码.邮件.区号.身份证号等.input框的不合法内容主要有两种方式处理:1.用户输入内容后,通 ...

随机推荐

  1. Vue.js事件处理

    Vue.js事件处理 1.v-on指令 用法如下:使用v-on:指令指定其执行的具体内容或者方法名即可. <button v-on:click='num++'>giao</butto ...

  2. ES6中 ,var,let和const的区别

    var的特点 没有代码块的概念,全局范围内都有效 存在“变量提升”现象,即变量可以在声明之前使用,值为undefined let的特点 声明的变量仅在块级作用域内有效,存在了代码块的概念 不存在“变量 ...

  3. Django 利用第三方平台实现用户注册02

    前言: 上篇博客我们已经对设置了图形验证码,短信验证码对用户信息进行了一些简单的验证,本篇博客我们会将上篇的一些验证方法进行结合,来进一步完成我们的注册工作 1. 创建视图类 在user中的view创 ...

  4. zabbix 监控linux tcp连接数

    zabbix 监控linux tcp连接数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.TCP的状态概述 1>.端口状态转换 2>.TCP 三次握手 3>. ...

  5. 图像检索:CEDD(Color and Edge Directivity Descriptor)算法 颜色和边缘的方向性描述符

    颜色和边缘的方向性描述符(Color and Edge Directivity Descriptor,CEDD) 本文节选自论文<Android手机上图像分类技术的研究>. CEDD具有抽 ...

  6. node - multer 加图片后缀

    var multer = require('multer') var storage = multer.diskStorage({   destination: function (req, file ...

  7. 结题报告:luogu P2014

    题目链接:P2014 选课 简单的树形\(dp\),借助\(dfs\)实现. 一般的树形\(dp\)数组是需要二维的,其中一维记录节点(编号或父/子节点的状态(有时三维)),另一维记录权值或计数. 重 ...

  8. mysql 权限管理 grant revoke

    grant all privileges  on  database.table to 'user'@'ip' identified by 'passwd' with grant  option; g ...

  9. 载域和运行域的理解(ARM程序是怎么运行的)

    对ARM加载域和运行域的理解 一般而言,一个程序包括只读的代码段和可读写的数据段.在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly):可读写的全局变量和静态变量被称作RW段( ...

  10. UVA - 10382 Watering Grass(几何)

    题意:有一个矩形,n个圆.已知矩形的长宽和圆的半径,问最少需多少个圆将矩形完全覆盖. 分析: 1.首先求圆与矩形的长的交点,若无交点,则一定不能对用最少的圆覆盖矩形有贡献. 2.如果两个圆与矩形相交所 ...