前端技术之:如何在Vue中使用clipboard.js复制服务端数据

第一步 创建点击对象页面元素,并绑定业务数据。

创新互联是一家专业提供南明企业网站建设,专注与做网站、网站设计H5开发、小程序制作等业务。10年已为南明众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。



  复制链接

第二步 引入clipboard.js。

import ClipboardJS from 'clipboard';

第三步 创建ClipboardJS对象实例。


mounted() {

  this.clipboard = new ClipboardJS('.copy-button', {

    text: () => this.copyLink

  });

  ...

}

第四步:替换clipboard对象实例的默认的onClick事件。

mounted() {

  ...

  const that = this;

  const oldOnClick = this.clipboard.onClick;

  this.clipboard.onClick = function onClick(e) {

    const resource\_type = e.delegateTarget.getAttribute('data-resource-type');

    const resource\_id = e.delegateTarget.getAttribute('data-resource-id');

    console.log('resource\_type, resource\_id is', resource\_type, resource\_id)

    that.$axios

      .post(APIS.Link, {

        type: 'h6\_ugc\_detail',

        params: {ugc\_id: resource\_id, ugc\_type: resource\_type},

        \_csrf: that.$store.state.csrfToken

      })

      .then(res => {

        that.copyLink = res.data.data.link;

        oldOnClick.bind(that.clipboard)(e);

      })

      .catch(err => {

      });

  };

  ...

}

第五步:监听并处理操作成功与失败事件。

mounted() {

  ...

  this.clipboard.on('success', this.clipOptions.success);

  this.clipboard.on('error', this.clipOptions.error);

}

其中clipOptions类似如下:

computed: {

  clipOptions() {

    return {

      success: (e) => {

        this.$message.success('复制成功');

      },

      error: () => {

        this.$message.error('复制失败');

      }

    };

  },

  ...

}

第六步:vue生命周期结束时,销毁clipboard对象。

unmounted() {

  this.clipboard && this.clipboard.destroy();

}

网站标题:前端技术之:如何在Vue中使用clipboard.js复制服务端数据
当前网址:http://hxwzsj.com/article/pojoic.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 企业网站设计 温江网站设计 品牌网站建设 外贸网站建设 营销型网站建设 达州网站设计 企业网站制作 网站建设公司 成都商城网站制作 网站建设 成都网站建设 成都商城网站建设 重庆网站建设 盐亭网站设计 营销网站建设 攀枝花网站设计 企业网站建设公司 成都营销网站制作 手机网站制作设计 重庆电商网站建设 网站制作 成都网站建设公司