老项目业务代码写的自定义指令,想在指令里面获取vue实例,来提示国际化字段。直接打印this是不行的。需要在bing(el, { value }, vNode)里写上第三个参数

获取this 就是Vue实例。想获取定义的$t 就需要找到Vue实例

获取如下

Vue-Html

<a-button v-copy="this.link">{{ $t('record.copy') }}</a-button>

Vue实例并调取自定义i18n实例对象

let vueNodeObj = vNode.componentInstance.$root
// 获取i18n方法
vueNodeObj.$t('key', {count: 5})
const copy = {bind(el, { value }, vNode) {el.$value = value;el.handler = () => {if (!el.$value) {// Message.warning(this.$t('visit.copy.no'));Message.warning(vNode.componentInstance.$root.$t('visit.copy.no'));return;}// 动态创建 textarea 标签const textarea = document.createElement('textarea');textarea.readOnly = 'readonly';textarea.style.position = 'absolute';textarea.style.left = '-9999px';textarea.value = el.$value;document.body.appendChild(textarea);// 选中值并复制textarea.select();textarea.setSelectionRange(0, textarea.value.length);const result = document.execCommand('Copy');if (result) {Message.success(vNode.componentInstance.$root.$t('visit.copy.success'));//  vNode.componentInstance.$root.$toast(vNode.componentInstance.$root.$t('visit.copy.success'))}document.body.removeChild(textarea);};// 绑定点击事件el.addEventListener('click', el.handler);},// 当传进来的值更新的时候触发componentUpdated(el, { value }) {el.$value = value;},// 指令与元素解绑的时候,移除事件绑定unbind(el) {el.removeEventListener('click', el.handler);},
}

directives

directives: {copy
}

Vue 自定义指令里面获取Vue实例 实现v-copy与i18n结合。相关推荐

  1. vue 自定义指令(directive)实例

    一.内置指令 1.v-bind:响应并更新DOM特性:例如:v-bind:href  v-bind:class  v-bind:title  v-bind:bb 2.v-on:用于监听DOM事件: 例 ...

  2. 9、Vue自定义指令

    Vue自定义指令 1.vue指令和自定义指令 2.使用自定义指令 2.1.全局注册 2.2.局部注册 3.钩子函数 1.vue指令和自定义指令 什么是指令? v-model.v-bind.v-on.v ...

  3. [Vue]自定义指令

    前言 系列文章目录: [Vue]目录 老师的课件笔记,不含视频 https://www.aliyundrive.com/s/B8sDe5u56BU 笔记在线版: https://note.youdao ...

  4. vue自定义指令(详解)

    vue自定义指令,核心就是需要自己亲手去操作DOM 而vue中的内置指令例如v-model只不过是vue帮你动了dom上的display属性, 所以自定义指令,就是自己亲手对原生操作dom进行了一次封 ...

  5. Vue自定义指令及实现图片懒加载指令

    一. 速识概念:   在我们使用 Vue 的过程中,遇到了很多方便我们操作的vue内置指令,以 v-xxx 表示.比如有 v-module,v-for,v-if,v-show 等等,每个指令都能实现一 ...

  6. pyqt5 treeview鼠标右键菜单事件_【动手实践】使用 Vue 自定义指令实现右键菜单...

    本文来自于 神奇的程序员 前言 浏览器里右键时会有一个默认的菜单,在我的开源项目中正好有自定义右键菜单的需求,在npm库找了下与之相关的包,发现都是以组件形式实现的,感觉那种做法太过繁琐. 于是,我就 ...

  7. clientsideevents能定义几个click事件_分享8个非常实用的Vue自定义指令

    作者:lzg9527 https://juejin.cn/post/6906028995133833230 在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也 ...

  8. vue自定义指令基础

    今天,我们讲讲vue自定义指令基础知识,主要包括指令如何创建,如何注册,以及指令的相关属性钩子函数. 指令的注册 我们通过以下方法注册一个全局自定义指令 Vue.directive(name,defi ...

  9. Vue自定义指令实现弹窗拖拽,四边拉伸及对角线拉伸

    Vue自定义指令实现弹窗拖拽,四边拉伸及对角线拉伸 引言 页面布局 drag.js文件 弹窗拖拽实现及边界限制 鼠标指针悬停样式 四边拉伸及对角线拉伸 拉伸干涉 引言 近期公司vue前端项目需求:实现 ...

  10. vue 自定义指令 directive 全局 directives 局部 inserted update

    vue 自定义指令 需求 效果 全局 - 自定义指令 代码 局部 - 自定义指令 代码 自定义命令传值 效果 代码 问点 需求 获取标签,扩展额外的功能 效果 全局 - 自定义指令 代码 // mai ...

最新文章

  1. 强强联合!Papers with Code 携手 arXiv,上传论文、提交代码一步到位
  2. pandas对dataframe进行排序:单数据列排序、多数据列排序、NA值排序位置、排序算法
  3. topcoder srm 500 div1
  4. 百分之九十的人不知道?在Python中f-string的几个技巧
  5. NET问答: 为什么 IEnumerablestring 不能被初始化?
  6. 电子计算机制作探测,如何自己制作一个简易的金属探测器
  7. 史上最详细JVM笔记
  8. leetcode刷题:数组中第K个最大的元素
  9. 想要导航提示页_如何优化网站导航呢?
  10. python论文排版格式_一行代码简化Python异常信息:错误清晰指出,排版简洁美观 | 开源...
  11. 基于JavaWeb实现网上图书商城系统
  12. CSF 格式文件播放器 下载地址
  13. 传真服务器维护,DreamFax传真服务器
  14. git使用kdiff3合并乱码问题
  15. 工业机器人图册 索罗门采夫_机械手控制系统设计(完整图纸)
  16. NOI 1818:红与黑(C++)
  17. 安全专业委员会发言_公司安全生产委员会发言稿
  18. 数字电路器件——门电路——与门电路、或门电路、非门电路及实例
  19. eclipse网络连接代理设置
  20. java项目小组项目总结报告_项目总结报告

热门文章

  1. 【python】80行代码实现压缩包密码破解软件,支持zip和rar
  2. RAR与ZIP区别,哪个比较好用!
  3. Cmake编译时无法打开包括文件: “pthread.h”
  4. 电阻触摸屏原理及电容触摸屏原理(附上原图)以及各自优缺点
  5. 蓝桥杯单片机——“”彩灯控制器”的程序设计
  6. 引擎国产化,VGS引领三维引擎新时空
  7. 弹性模量及刚度之间的关系
  8. 03惯性导航系统误差分析
  9. java多个点求连线_实现简单的粒子连线
  10. 如何让iframe背景色透明