溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

前端技術(shù)之:如何在Vue中使用clipboard.js復(fù)制服務(wù)端數(shù)據(jù)

發(fā)布時(shí)間:2020-05-29 15:21:14 來(lái)源:網(wǎng)絡(luò) 閱讀:585 作者:popgis 欄目:web開(kāi)發(fā)

第一步 創(chuàng)建點(diǎn)擊對(duì)象頁(yè)面元素,并綁定業(yè)務(wù)數(shù)據(jù)。

<el-button type="text" size="mini" class="copy-button"

??:data-resource-type="scope.data.resource\_type"

??:data-resource-id="scope.data.resource\_id">

??復(fù)制鏈接

</el-button>

第二步 引入clipboard.js。

import ClipboardJS from 'clipboard';

第三步 創(chuàng)建ClipboardJS對(duì)象實(shí)例。


mounted() {

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

????text: () => this.copyLink

??});

? ...

}

第四步:替換clipboard對(duì)象實(shí)例的默認(rèn)的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 => {

??????});

??};

??...

}

第五步:監(jiān)聽(tīng)并處理操作成功與失敗事件。

mounted() {

??...

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

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

}

其中clipOptions類(lèi)似如下:

computed: {

??clipOptions() {

????return {

??????success: (e) => {

????????this.$message.success('復(fù)制成功');

??????},

??????error: () => {

????????this.$message.error('復(fù)制失敗');

??????}

????};

??},

??...

}

第六步:vue生命周期結(jié)束時(shí),銷(xiāo)毀clipboard對(duì)象。

unmounted() {

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

}
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI