Vue.component('copbox',{ template : `
Copy to clipboard
`, methods : { copyToClipboard() { const textToCopy = this.$refs.textToCopy; const range = document.createRange(); range.selectNode(textToCopy); window.getSelection().removeAllRanges(); window.getSelection().addRange(range); document.execCommand('copy'); window.getSelection().removeAllRanges(); }, } }) let vm = new Vue({ data() { return { loading: false } }, methods: { loadingStart(){ this.loading = true } } }).$mount('#root')