Vue.js自定义指令的用法与实例解析


Posted in Javascript onJanuary 18, 2017

市面上大多数关于Vue.js自定义指令的文章都在讲语法,很少讲实际的应用场景和用例,以致于即便明白了怎么写,也不知道怎么用。本文不讲语法,就讲自定义指令的用法。

自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念,但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展,不仅可用于定义任何的DOM操作,并且是可复用的。

比如谷歌图片的加载做得非常优雅,在图片未完成加载前,用随机的背景色占位,图片加载完成后才直接渲染出来。用自定义指令可以非常方便的实现这个功能。

Vue.js自定义指令的用法与实例解析

Vue.js自定义指令的用法与实例解析

效果:

Vue.js自定义指令的用法与实例解析

自定义指令的第二用处是用于集成第三方插件。我们知道任何软件开发领域都可以分为四层:底层是原生的API,上层是通用框架,再上层是通用组件,最上层才是具体的业务代码。一个通用框架,必须搭配一套完整的通用组件,才能真正奠定其江湖地位。

在前端开发领域,以前的通用框架是jQuery,jQuery以及基于jQuery构建的通用组件形成了一个庞大的生产系统。现在的通用框架是Angular、React和Vue,每个框架都需要基于自身构建新的组件库。自定义指令好就好在:原先的那些通用组件,无论是纯js的也好,基于jQuery的也好,都可以拿来主义直接吸收,而不需要改造或重构。

比如写文档通常会用到highlight.js,我们可以直接将其封装为一个自定义指令,这样highlight.js就变成了Vue的一个新功能。

Vue.js自定义指令的用法与实例解析

Vue.js自定义指令的用法与实例解析

效果:

Vue.js自定义指令的用法与实例解析

但凡遇到第三方插件如何与Vue.js集成的问题,都可以尝试用自定义指令实现。

以上所述是小编给大家介绍的Vue.js自定义指令的用法与实例解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
jquery 插件开发 extjs中的extend用法小结
Jan 04 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
Nov 18 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
Apr 20 Javascript
JS中的JSON对象的定义和取值实现代码
May 09 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
Sep 12 Javascript
JavaScript继承的特性与实践应用深入详解
Dec 30 Javascript
Node.js 如何利用异步提升任务处理速度
Jan 07 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
Vuex的实战使用详解
Oct 31 Javascript
vue-cli4项目开启eslint保存时自动格式问题
Jul 13 Javascript
vue.js+Element实现表格里的增删改查
Jan 18 #Javascript
JS中Array数组学习总结
Jan 18 #Javascript
原生javascript实现图片放大镜效果
Jan 18 #Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
Jan 18 #Javascript
原生js实现回复评论功能
Jan 18 #Javascript
js实现表格筛选功能
Jan 18 #Javascript
js放大镜放大购物图片效果
Jan 18 #Javascript
You might like
php 前一天或后一天的日期
2008/06/28 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
JavaScript中Math对象使用说明
2008/01/16 Javascript
js left,right,mid函数
2008/06/10 Javascript
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
Python Socket编程入门教程
2014/07/11 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
毕业生文员求职信
2013/11/03 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
工作会议主持词
2014/03/17 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
2015学校年度工作总结
2015/05/11 职场文书
php字符串倒叙
2021/04/01 PHP
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis