Vue中结合clipboard实现复制功能
首先现在Vue中引入clipboard
npm install clipboard --save
在需要使用的组件中import 引入clipboard
import Clipboard from 'clipboard';
clipboard的实际使用
不论是单按钮复制还是多按钮复制,一定要在页面加载DOM完成后先New出来具有复制功能的按钮,如果在函数内再New那么可能会出现点击复制按钮两次,才复制成功的现象,如下:
mounted() { var copybtn = document.getElementsByClassName('btn') this.clipboard = new Clipboard(copybtn); } <!--并不一定非要在mounted中也可以在其他周期内, 只要页面已经加载完DOM即可,如果是动态生成可以使用nextTick中New。-->
绑定复制内容的方式有以下几种:
<!--第一种直接绑定在按钮上--> <button class="marleft10 btn" style="float: right;border: none;" :data-clipboard-text="2" @click="copy()">复制 </button> <!--第二种单个复制按钮动态获取需要复制的内容--> <input type="text" v-model="copyContent" id="copy_text" style="opacity: 0"> <button ref="copy" data-clipboard-action="copy" data-clipboard-target="#copy_text" @click="copy">复制</button> <!--第三种可以在New Clipboard时设定要复制的内容--> new Clipboard('copyBtn',function(){ return <!--要复制的内容--> }) copy(){ let _this = this <!--如果在内部new会出现点击两次在复制成功的现象所以还请各位多多注意--> clipboard.on('success', function () { Toast('复制成功') _this.destroy() <!--销毁缓存,然后在重新new这样不会出现点击复制上出现之前复制的内容的情况--> _this.clipboard = new Clipboard(copyBtn); }) clipboard.on('error', function () { // 前端全栈学习交流圈 Toast('复制失败,请手动复制')//866109386 })// 面向1-3年前端人员,帮助突技术瓶颈,提升思维能力。 }
以上是笔者自己在实际中遇到的问题及解决办法并不适用所有,仅供参考,如有不对的地方还请多多之指正,共同学习进步
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
技巧 | 编程只用NumPy码一个神经网络
BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种==按误差逆传播算法训练的多层前馈网络==,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的==输入-输出模式映射关系==,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使==网络的误差平方和最小==。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。 注:本文将包含大量用 Python 编写的代码片段。希望读起来不会太无聊。 Keras、TensorFlow、PyTorch 等高级框架可以帮助我们快速构建复杂模型。深入研究并理解其中的理念很有价值。下面尝试只使用 NumPy 构建一个全运算的神经网络,通过解决简单的分类问题来测试模型,并将其与 Keras 构建的神经网络进行性能比较。 密集神经网络架构 磨刀不误砍柴工 在开始编程之前,需要先整理一个基本的路线图。我们的目标是创建一个程序,该程序能创建一个拥有特...
- 下一篇
vue.js响应式原理解析与实现—实现v-model与{{}}指令
上次我们已经分析了vue.js是通过Object.defineProperty以及发布订阅模式来进行数据劫持和监听,并且实现了一个简单的demo。今天,我们就基于上一节的代码,来实现一个MVVM类,将其与html结合在一起,并且实现v-model以及{{}}语法。 tips:本节新增代码(去除注释)在一百行左右。使用的Observer和Watcher都是延用上一节的代码,没有修改。 接下来,让我们一步步来,实现一个MVVM类。 构造函数 首先,一个MVVM的构造函数如下(和vue.js的构造函数一样): class MVVM { constructor({ data, el }) { this.data = data; this.el = el; this.init(); this.initDom(); } } 和vue.js一样,有它的data属性以及el元素。 初始化操作 vue.js可以通过this.xxx的方法来直接访问this.data.xxx的属性,这一点是怎么做到的呢?其实答案很简单,它是通过Object.defineProperty来做手脚,当你访问this.xxx的时...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 2048小游戏-低调大师作品