tags: ‘vue’, ‘复制’

categories: ‘vue’, ‘复制’

复制插件地址

安装使用

下载依赖

  1. npm install clipboard --save

main.js
在mian.js中引入,当然我们也可以在用到的.vue中引入,因为我不止一个地方用到了复制,所以直接在main.js里面引入了。

  1. import clipboard from 'clipboard'; // 引入clipboard,这是复制的插件
  2. Vue.prototype.clipboard = clipboard; //注册到vue原型上

.vue中调用
更多操作查看官方文档

  1. <template>
  2. <div>
  3. <div class="content">
  4. <p>aaaa</p>
  5. <p>bbbb</p>
  6. <p>cccc</p>
  7. <p>dddd</p>
  8. </div>
  9. <button class="Btn">复制</button>
  10. </div>
  11. </template>
  12. <script>
  13. let _this = '';
  14. export default{
  15. methods: {
  16. initBtnCopy(nameBtn,nameContent){
  17. _this.myClipboard ? _this.myClipboard.destroy() : '';
  18. this.myClipboard = new Clipboard(nameBtn, {
  19. target: function() {
  20. return document.querySelector(nameContent);
  21. }
  22. });
  23. this.myClipboard.on('success', function(e) {
  24. _this.$Message.success("复制成功!");
  25. // 先销毁之前的,再重新定义
  26. _this.myClipboard.destroy();
  27. initBtnCopy
  28. e.clearSelection();
  29. });
  30. this.myClipboard.on('error', function(e) {
  31. _this.$Message.info('请按 Ctrl+C 复制文字');
  32. });
  33. }
  34. },
  35. beforeCreate : function (){
  36. _this = this;
  37. },
  38. mounted(){
  39. this.initBtnCopy(".Btn", ".content");
  40. }
  41. }
  42. </script>