方法1: ブラウザの標準APIを使用する方法
<template>
<div>
<input type="text" ref="textRef" value="コピーするテキスト" />
<button @click="copyToClipboard">クリップボードにコピー</button>
</div>
</template>
<script>
export default {
methods: {
copyToClipboard() {
const text = this.$refs.textRef.value;
navigator.clipboard.writeText(text)
.then(() => {
console.log('テキストがクリップボードにコピーされました');
})
.catch((error) => {
console.error('クリップボードへのコピーに失敗しました:', error);
});
},
},
};
</script>
方法2: Vue Clipboardを使用する方法
Vue Clipboardは、Vue.jsでクリップボードの操作を簡単にするためのライブラリです。以下の手順に従ってVue Clipboardをインストールし、使用します。
まず、ターミナルでプロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。
npm install vue-clipboard2
次に、VueコンポーネントでVue Clipboardを使用します。
<template>
<div>
<input type="text" ref="textRef" value="コピーするテキスト" />
<button @click="copyToClipboard">クリップボードにコピー</button>
</div>
</template>
<script>
import VueClipboard from 'vue-clipboard2';
export default {
directives: {
clipboard: VueClipboard,
},
methods: {
copyToClipboard() {
const text = this.$refs.textRef.value;
this.$clipboard(text)
.then(() => {
console.log('テキストがクリップボードにコピーされました');
})
.catch((error) => {
console.error('クリップボードへのコピーに失敗しました:', error);
});
},
},
};
</script>
以上の方法を使用することで、Vue.jsでテキストをクリップボードにコピーすることができます。これにより、ユーザーがテキストを簡単にコピーして他の場所に貼り付けることができます。