Vue2.0 的漫长学习ing-2-1
什么是全局API?
全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API。说的简单些就是,在构造器外部用Vue提供给我们的API函数来定义新的功能。
Vue.directive自定义指令
之前,我们写了一些Vue的内部指令,我们也可以自定义一些指令,比如我们自定义一个v-xiaofan的指令,作用是让文字变成红色。
html:
<div id="app"><div v-xiaofan="color" id="demo">{{num}}</div><div><button @click="add">Add</button></div></div>
js:
var app=new Vue({el:'#app',data:{num:10,color:'#f00'},methods:{add:function(){this.num++;}}})
然后,我们就可以利用Vue.directive定义一个指令了。
Vue.directive('xiaofan',function(el,binding,vnode){el.style = 'color:' + binding.value; })
这时,我们就使得打印出的数字的字体颜色是红色了。
参数解释:
el: 指令所绑定的元素,可以用来直接操作DOM。
binding: 一个对象,包含指令的很多信息。
vnode: Vue编译生成的虚拟节点。
自定义指令的生命周期
自定义指令有五个生命周期(也叫钩子函数),分别是 bind,inserted,update,componentUpdated,unbind
- bind:只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个绑定时执行一次的初始化动作。
- inserted:被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于document中)。
- update:被绑定于元素所在的模板更新时调用,而无论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新。
- componentUpdated:被绑定元素所在模板完成一次更新周期时调用。
- unbind:只调用一次,指令与元素解绑时调用。
bind:function(){//被绑定console.log('1 - bind'); }, inserted:function(){//绑定到节点console.log('2 - inserted'); }, update:function(){//组件更新console.log('3 - update'); }, componentUpdated:function(){//组件更新完成console.log('4 - componentUpdated'); }, unbind:function(){//解绑console.log('5 - unbind'); }
完整代码:
<!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>Vue.directive 自定义指令 实例</title><script type="text/javascript" src="../assets/js/vue.js"></script> </head> <body><h1>Vue.directive 自定义指令</h1><hr><div id="app"><div v-xiaofan="color"> {{num}} </div><p> <button @click="add">ADD</button> </p></div><p> <button οnclick="unbind()">unbind</button> </p><script type="text/javascript">function unbind(){app.$destroy();};Vue.directive('xiaofan',{bind:function(el,binding){console.log('1-bind');el.style = "color:" + binding.value;},inserted:function(){console.log('2-inserted');},update:function(){console.log('3-upadate');},componentUpdated:function(){console.log('4-componentUpdated');},unbind:function(el,binding){console.log('5-unbind');el.style = "color:#0f0";} });var app = new Vue({el: "#app",data:{num:0,color:'red',},methods:{add:function(){this.num++}}})</script> </body> </html>
转载于:https://www.cnblogs.com/xiaofandegeng/p/9002837.html
Vue2.0 的漫长学习ing-2-1相关推荐
- Vue2.0 的漫长学习ing-2-6
Component 初识组件 组件作为vue学习中的重点之一,其强大的功能在vue编程中随处可见,组件就是制作自定义的标签. 全局化注册组件 全局化就是在构造器的外部用Vue.component来注册 ...
- Vue2.0 的漫长学习ing-1-5
v-on:绑定事件监听器 v-on 就是监听事件,可以用v-on指令监听DOM事件来触发一些javascript代码,也就是我们在js中常用的事件处理函数,同时在Vue中我们可以使用@来简写v-on. ...
- vue2.0官网学习记录
目录 1. vue.js是什么 2. 插值 2.1 文本插值{{}}, v-once指令 2.2 原始HTML插值, v-html, XSS攻击 XSS攻击 2.3 属性Attribute, v-bi ...
- 【Vue2.0学习】—Vuex工作原理图(二十五)
[Vue2.0学习]-Vuex工作原理图(二十五) 一. Vuex 是什么? 概念: 专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对Vue应用中多个组件的共享状态进行集中式的管理(读/写 ...
- 【Vue2.0学习】—数据绑定
[Vue2.0学习]-数据绑定 <!DOCTYPE html> <html lang="en"><head><meta charset=& ...
- vue2.0学习——使用webstorm创建一个vue项目
背景:小白自学vue,翻阅了好多大神的博客,看了网上很多的视频,过程很吃力,好在功夫不负有心人,磕磕绊绊的也算入门了,现为自己vue的学习阶段做个小小的总结.vue2.0的基础知识的总结暂时不总结成文 ...
- 【Vue学习笔记】尚硅谷Vue2.0+Vue3.0全套教程丨vue.js从入门到精通
尚硅谷Vue2.0+Vue3.0全套教程丨vue.js从入门到精通 1.Vue核心部分 1.1 Vue简介 1.1.1 Vue是什么? Vue是一套用于构建用户界面的渐进式JavaScript框架. ...
- [Vue]学习笔记目录 【Vue2与Vue3完结】 (尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通)
文章目录 前言 遇见的问题及其解决方案 之前笔记 Vue2 Vue3 前言 本笔记根据如下笔记和视频进行整理 老师的课件笔记,不含视频 https://www.aliyundrive.com/s/B8 ...
- 【Vue2.0学习】—插槽(六十四)
[Vue2.0学习]-插槽(六十四) 作用:让父组件可以向子组件指定的位置插入html结构,也是一种组件间通信的方式,适用于 父组件=>子组件 分类:默认插槽.具名插槽.作用域插槽 默认插槽 使 ...
- vue学习(八)vue2.0路由vue-router的简单入门使用
vue-router官网中文文档:Vue Router Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌.路由实际上就是可以理 ...
最新文章
- 在组策略中用户策略仅对特定计算机生效,如何对本地组策略设置使之不对特定用户生效?...
- 关于时间差查询的一个小技巧
- shell脚本安装mysql并安装一个小服务
- 转载:掩膜矩阵操作数学解释(权重表,锐化)
- Go 语言:我那么值钱,我骄傲了吗?
- linux的mutex状态查询命令,如何断言std :: mutex是否已锁定?
- NoHttp使用简析——Android网络请求框架(二)
- 【数据结构】4.1图的创建及DFS深度遍历(不完善)
- 服务网关Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置)
- GDAL源码剖析(七)之GDAL RasterIO使用说明
- Windows上的Spark环境搭建后,运行时报错的问题
- C语言齿轮参数计算程序,C语言程序实现齿轮基本参数几何尺寸计算.pdf
- Windows 11 Manager(win11优化大师)官方中文版V1.0.0 | windows11优化软件下载
- libigl cot laplacian 计算方式
- PPT | 5G时代的视频云服务关键技术与实践
- 淘宝订单同步及解决方法
- shipyard docker集群问题
- 微信开发——加密认证
- 理解浏览器的多线程,JavaScript的单线程
- 从磁盘原理理解文件读写优化