在进行复制设计时候,可以采用vue中的clipboard进行设计:
https://www.npmjs.com/package/vue-clipboard#installation
首先引入模板:
npm install clipboard --save
在package.json中可以看到是否安装成功。
"clipboard": "^2.0.1",
然后在需要引用的组件中进行引用:
<JS>
import Clipboard from 'cipboard'
安装clipboard完成,可以开始写代码了,示例代码:
<html>
<template> <p id="msg"> copy message </p> //设置id,用以后面获取数据 <button class="btn" data-clipboard-target="#msg" //使用data-clipboard-target可以直接指向需要复制的数据。 data-clipboard-text 是放置需要复制的数据 @click = "copy"/> </template>
<JS>
methods: { copy() { let clipboard = new Clipboard('.btn') //注意要使用let或者const,不能使用var,否则会出现复制次数叠加的问题,即复制不止一次。 //因为var是全局变量,let和const是局部 clipboard.on('success',e =>{ alert('copy success') clipboard.destroy() //使用destroy可以清楚缓存 }) clipboard.on('error',e =>{ alert('failed') clipboard.destroy() } }}