Vue.js(16)之 directive自定义指令
推荐阅读:Vue.directive基础,在Vue模块开发中使用
全局指令
Vue.directive('全局自定义指令名称', { /* 自定义指令配置对象 */ })
私有指令
<template></template> <script>
export default {
directives: {
'私有自定义指令名称': { /* 私有自定义指令配置对象 */ }
}
}
</script>
指令配置对象中 bind 和 inserted 的区别
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自定义指令的更多相关文章
- vue.js之过滤器,自定义指令,自定义键盘信息以及监听数据变化
一.监听数据变化 1.监听数据变化有两种,深度和浅度,形式如下: vm.$watch(name,fnCb); //浅度 vm.$watch(name,fnCb,{deep:true}); //深度监视 ...
- Vue.directive 自定义指令
一.什么是全局API? 全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,比如我们今天要学习的指令Vue.directive.说的简单些就是,在 ...
- Vue2.0 【第二季】第1节 Vue.directive自定义指令
目录 Vue2.0 [第二季]第1节 Vue.directive自定义指令 一.什么是全局API? 二. Vue.directive自定义指令 三.自定义指令中传递的三个参数 四.自定义指令的生命周期 ...
- Vue2.x directive自定义指令
directive自定义指令 除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令. 注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件——然而,有的 ...
- 浅析Vue.js 中的条件渲染指令
1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> < ...
- Vue.directive 自定义指令的问题
1.今天复习一下Vue自定义指令的代码,结果出现一个很无语的结果,先贴代码. 2. <div id="example" v-change-by="myColor&q ...
- Vue.directive自定义指令
Vue除了内部指令,我们也可以定义一些属于自己的指令,比如我们要定义一个v-diy的指令,作用就是让文字变成红色. 写好了这个功能,我们现在就自己定义一个全局的指令.我们这里使用Vue.directi ...
- Vue directive自定义指令+canvas实现H5图片压缩上传-Base64格式
前言 最近优化项目-手机拍照图片太大,回显速度比较慢,使用了vue的自定义指令实现H5压缩上传base64格式的图片 canvas自定义指令 Vue.directive("canvas&qu ...
- Vue input 控件: 通过自定义指令(directive)使用正则表达式限制input控件的输入
前言: 网站中的input输入框使用非常广泛,因业务场景不同需要对输入框做合法性校验或限制输入,比如电话号码.邮件.区号.身份证号等.input框的不合法内容主要有两种方式处理:1.用户输入内容后,通 ...
随机推荐
- 梯度下降法的python代码实现(多元线性回归)
梯度下降法的python代码实现(多元线性回归最小化损失函数) 1.梯度下降法主要用来最小化损失函数,是一种比较常用的最优化方法,其具体包含了以下两种不同的方式:批量梯度下降法(沿着梯度变化最快的方向 ...
- 01.DesignParttern设计模式,简单工厂,工厂方法,抽象工厂三大工厂的区别与联系
工厂用来生产对象,对象具有方法和属性. 简单工厂的缺点(简单工厂并不是23中设计模式): 工厂类的职责相对过重,增加新的产品,需要修改工厂类的判断逻辑,违背开闭原则: JDK源 ...
- zabbix_get工具基础使用
zabbix_get工具基础使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zabbix_get工具概述 我们在使用zabbix server监控zabbix agent端 ...
- prepareBeanFactory方法源码跟踪
看这篇文章之前可以先了解之前的跟踪流程,https://www.jianshu.com/p/4934233f0ead 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 AbstractApplic ...
- Java虚拟机05.2(内存分配)
jdk1.7中堆内存分为:年轻代+老年代+永久代.但是永久代有作为非堆内存存在,也就是说堆内存的大小应该为年轻代+老年代.在tomcat容器中,如果jsp页面过多可能出现永久代溢出.通常栈溢出都是程序 ...
- 官方关于Dialog的介绍
将Activity显示成Dialog的形式: Tip: If you want a custom dialog, you can instead display an Activity as a di ...
- 【Jasypt】给你的配置加把锁
前言 前几天,有个前同事向我吐槽,他们公司有个大神把公司的项目代码全部上传到了 github,并且是公开项目,所有人都可以浏览.更加恐怖的是项目里面包含配置文件,数据库信息.redis 配置.各种公钥 ...
- JS:递归基础及范例——斐波那契数列 、 杨辉三角
定义:程序调用自身的编程技巧称为递归.一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就 ...
- System.Data.SqlClient.SqlException: 'Incorrect syntax near 'OFFSET'.
https://www.nopcommerce.com/boards/t/54586/410-not-running-on-local-system.aspx#209684 Hello, I was ...
- js封装、继承
封装:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html 继承:http://ww ...