项目中需要实现复制的功能,采用clipboard实现,clipboard.js的官网网址:http://www.clipboardjs.cn/

使用步骤:

一、安装模块

npm install clipboard --save 或者 cnpm install clipboard --save

二、使用

开始我是写在方法里面实例化,导致第一次点击两次才复制成功,因为进入页面之后 clipboard 没有创建实例 ,再点击复制之后才开始创建实例,创建实例之后并没有完成复制

三、解决办法

在 mounted 方法里创建 clipboard 实例

代码如下(直接复制代码。放到vue项目里面即可)

<template><div class="flex-box-column-center pdf"><img src="~@/assets/img/common/pdfLogo.png" alt=""><p class="f38 color-333">会议发票.pdf</p><p class="f26 color-333 pdf-href">{{pdfUrl}}</p><pclass="pdf-btn flex-box-column-center"@click.stop.prevent="copy($event)"ref='copyBtn'>复制发票地址</p><p class="f26 color-999">复制发票地址在浏览器中打开并下载发票</p></div>
</template>
<script>
import Clipboard from 'clipboard'
export default {data () {return {pdfUrl: sessionStorage.getItem('pdfUrl'), // pdf的网址clipboardExample: null // clipboard的实例}},mounted () {this.clipboard = new Clipboard(this.$refs.copyBtn, { text: () => this.pdfUrl });},methods: {copy(e) {this.clipboard.on('success', e => {this.$dialog.toast({mes: '复制成功',timeout: 1500,icon: 'success'});});this.clipboard.on('error', e => {this.$dialog.toast({mes: '复制失败',timeout: 1500,icon: 'error'});});}}
}
</script>
<style scoped>
.pdf{img{width: 106px;margin: 200px auto 30px;}.pdf-href{margin: 60px auto 20px;padding: 0 80px;word-break: break-all;text-align: center;}.pdf-btn{width: 294px;height: 80px;font-size: 32px;color: #fff;border-radius: 40px;background: #1b82d2;margin-top: 60px;box-shadow: 0.05rem 0.05rem 0.1rem #cde4f5;cursor: pointer;margin: 60px auto 40px;}
}
</style>

vue 中 使用 clipboard 复制内容第一次点击两次才能成功问题修改相关推荐

  1. VUE 使用插件vue-clipboard2复制内容至剪切板(两种使用方法)

    安装 npm install --save vue-clipboard2 main.js import Vue from 'vue' import VueClipboard from 'vue-cli ...

  2. vue中基于echarts和基于高德地图的两种地图下钻与上浮方式

    ** vue中基于echarts和基于高德地图的两种地图下钻与上浮方式 ** 基于echarts的地图下钻与上浮(浙江省为例) 第一步:在<template>中构建承载echarts的do ...

  3. Vue中如何根据svg内容显示图片

    概述 在写前端项目中,我们免不了需要在页面上显示图片,有的是静态图片,需要直接访问项目内的文件:有的需要从后端接口动态获取图片信息,再在页面上显示. 因为svg图片有:矢量图形,不受像素影响:SVG的 ...

  4. 拼接的html点击事情不触发,关于在vue中拼接html的问题,点击事件无法执行

    首先是在普通文档(也就是单个html文件中进行测试,能够正常执行) 普通情况下的结果,拼接的结果能够正常渲染并且控制台有输出: 但是在vue环境之下就会出错,点击事件并没有反应, js部分: for ...

  5. vue中下载excel的使用,后端链接两种情况,一个是链接,一个是文件流

    vue中下载excel使用 一.这是第一种情况,后台链接地址返回的是一个url,这个时候我只要在导出按钮上绑定exportData()这个事件方法就好了 exportData() {this.time ...

  6. vue中读取本地文件内容

    其实就是使用 FileReader对象,h5提供的异步api,可以读取文件中的数据. <input @change="uploadCode($event)" type=&qu ...

  7. 微信html5复制剪切板,微信h5实现复制内容到剪贴板,两种方法

    先介绍第一种,这种方法对ios有一些不兼容,不过也看运气 先写HTML内容 微信:22 复制 JS代码 首先引入jq $(".copy")[0].onclick = functio ...

  8. vue中监听页面,禁止点击浏览器返回按钮返回

    问题 某个页面限制用户点击浏览器返回按钮返回 解决方法 在该页面的vue实例中添加mounted destroyed钩子,并且添加goBack方法加以限制 mounted () {if (window ...

  9. 微信h5实现复制内容到剪贴板,两种方法

    先介绍第一种,这种方法对ios有一些不兼容,不过也看运气

  10. VUE 实现复制内容到剪贴板的方法

    VUE 复制内容至剪切板(两种使用方法) 复制内容至剪切板使用的是插件'vue-clipboard2',通过官方文档会发现共有两种使用方式. 第一种方式与大多数文章类似,只粘贴代码: <temp ...

最新文章

  1. Ceph的架构(一)
  2. ai物联网工业_人工智能和物联网将如何改变行业
  3. oracle行转列 case,Oracle 行转列总结 Case When,Decode,PIVOT 三种方式
  4. no typehandler found for property XXXX 解决
  5. 轻松搞定vmware + win2003Cluste
  6. 【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)
  7. 【Python3网络爬虫开发实战】3.1.2-处理异常
  8. VS Code 如何运行.html文件(VS Code 如何安装插件)(open with live serve和open in default browser)
  9. badbody下_BadboyInstaller下载-录制脚本工具Badboy下载2.2.5 官方最新版-西西软件下载...
  10. OSError: [WinError 1455] 页面文件太小,无法完成操作 报错解决
  11. (完全解决)为什么二阶行列式的绝对值为面积
  12. 使用简短JS事件代码实现原生北京时间时钟
  13. An Introduction to Be-trees and Write Optimization 学习笔记
  14. 计算机组成与体系结构——计算机系统概述、数据表示方法
  15. 3D重建中的相机雷达融合
  16. 医院PACS系统之简介
  17. 从键盘输入一个字符串并输出
  18. 20191223-20191227风险指标的学习总结
  19. 系统分析与设计 选课系统
  20. cad标注桩号lisp_CAD插件标桩号的AutoLISP程序语言求解释并译成中文,谢谢

热门文章

  1. linux 下压缩解压命令
  2. linux版 tar.bz2如何解压,Linux下*.tar.bz2等文件如何解压--转
  3. Linux-zip和unzip命令
  4. IAR移植FreeRTOS
  5. JavaWeb - GET 请求中 URL 的最大长度限制(附:解决方案)
  6. 解压版tomcat7配置
  7. 手机自动阅读挣钱,这次用脚本写
  8. lqr控制和模糊控制三级倒立摆
  9. MS-SQLSERVER中的msdtc不可用解决方法
  10. nsis出错_NSIS错误(NSIS Error)的原因和解决方法总结