第一步 創建點擊對象頁面元素,并綁定業務數據。
<el-button type="text" size="mini" class="copy-button"
??:data-resource-type="scope.data.resource\_type"
??:data-resource-id="scope.data.resource\_id">
??復制鏈接
</el-button>
第二步 引入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();
}
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網頁名稱:前端技術之:如何在Vue中使用clipboard.js復制服務端數據-創新互聯
鏈接分享:http://vcdvsql.cn/article38/ddjjsp.html
成都網站建設公司_創新互聯,為您提供網站收錄、電子商務、面包屑導航、手機網站建設、Google、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯