详解Vue.js自定义tipOnce指令用法实例


Posted in Javascript onDecember 19, 2018

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

最近碰到一种业务场景,业务场景如图:

详解Vue.js自定义tipOnce指令用法实例

有个操作提示点击可以显示,足够了吧?如图:

详解Vue.js自定义tipOnce指令用法实例

不够!好吧,产品说要求自动淡出提示!

后台操作复杂需要有个明显提示给业务人员更好地操作,而且这种提示,只需要一种提示就足够。于是我就想到了自己实现自定义指令。

整个vuejs场景是利用了构建模式开发,在我的main.js代码是这样鲁的:

let obj = new Vue({
 router,
 store,
 render: h => h(App)
}).$mount('#app-box');


//注册一个全局自定义指令 `v-tipOnce`
Vue.directive('tipOnce', {
 bind: function (el,binding) {
   console.log(el,binding);
   obj.$message({
    type: 'info',
    message: binding.value
   });      
 }
})

通过directive注册v-tipOnce 全局指令,通过指令的 bind钩子函数保证 只调用一次,指令第一次绑到元素时调用,在这里可以进行一次性的初始化设置。那具体在指令里面做什么呢? 我无非就是想做个提示语一次性展示出来。于是想到了Elementui里面的$.message,于是直接用了 obj做个转接实例,不想另外写提示语 dom创建了。我们可以尝试打印 el,和bingding是什么,其中el是dom实例,至于binding看下面代码的用法传的参数就知道。

好了,我们在单页面组件用上v-tipOnce指令吧。代码如下:

<el-row>
    <el-col :span="24">
      <div>
        <el-collapse>
          <el-collapse-item>
            <template slot="title">
            <div class="danger"> <i class="header-icon el-icon-search"></i> 操作提示 Operation Tips </div>  
            </template>
            <div class="danger" v-tipOnce="'展示商品:必须选择对应的展示位置,才知道你所对应的业务类型(B端还是C端?),展示商品会根据展示位置显示出对应的商品数据;'">展示商品:必须选择对应的展示位置,才知道你所对应的业务类型(B端还是C端?),展示商品会根据展示位置显示出对应的商品数据;</div>

          </el-collapse-item>
        </el-collapse>
      </div>
    </el-col>
  </el-row>

使用效果如下:

详解Vue.js自定义tipOnce指令用法实例

指令就那么简单,可以根据你自己的思想甚至集成第三方插件使用,用出你想要的效果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js的event详解。
Sep 06 Javascript
如何用javascript判断录入的日期是否合法
Jan 08 Javascript
Web开发者必备的12款超赞jQuery插件
Dec 03 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
jCallout 轻松实现气泡提示功能
Sep 22 Javascript
javascript实现简单计算器效果【推荐】
Apr 19 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
讲解vue-router之什么是嵌套路由
May 28 Javascript
react-router4按需加载(踩坑填坑)
Jan 06 Javascript
vue学习笔记之给组件绑定原生事件操作示例
Feb 27 Javascript
jQuery实现简单三级联动效果
Sep 05 jQuery
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 #Javascript
JavaScript链式调用实例浅析
Dec 19 #Javascript
浅谈vue后台管理系统权限控制思考与实践
Dec 19 #Javascript
如何为vue的项目添加单元测试
Dec 19 #Javascript
浅谈Angular7 项目开发总结
Dec 19 #Javascript
mockjs+vue页面直接展示数据的方法
Dec 19 #Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
Dec 19 #Javascript
You might like
老照片 - 几十年前的收音机与人
2021/03/02 无线电
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
Python实现的简单发送邮件脚本分享
2014/11/07 Python
python提取字典key列表的方法
2015/07/11 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
kali中python版本的切换方法
2019/07/11 Python
python tornado使用流生成图片的例子
2019/11/18 Python
python中rb含义理解
2020/06/18 Python
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
财务经理岗位职责
2013/11/09 职场文书
自荐书模板
2013/12/15 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
擅自离岗检讨书
2014/09/12 职场文书
庆六一开幕词
2015/01/29 职场文书
简历自我评价模板
2015/03/11 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
幼儿园教学反思范文
2016/03/02 职场文书