Доступ к пользовательскому плагину Nuxt из API композиции

#vue.js #nuxt.js #nuxtjs #vue-composition-api

Вопрос:

Я использую VueClipboard в своем проекте nuxt.

https://www.npmjs.com/package/vue-clipboard2

У меня есть файл плагина vue-clipboard.js

 import Vue from "vue";
import VueClipboard from 'vue-clipboard2';
Vue.use(VueClipboard);
 

Он импортируется в файл nuxt.config

 plugins: ['@/plugins/vue-clipboard'],
 

Это устанавливает глобальную переменную $copyText, и в nuxt без API композиции я могу сделать что-то вроде

 methods: {
  async onCopyCodeToClipboard() {
    const code = 'code'
    await this.$copyText(code)
  },
},
 

Однако внутри настройки с использованием API композиции (@nuxtjs/composition-api), когда я пишу функцию, у меня нет доступа к этому.$copyText

 const onCopyCodeToClipboard = async () => {
  const code = context.slots.default()[0].elm.outerHTML
  // -> Can't use this here - await this.$copyText(code)
}
 

Итак, как мне сделать $copyText доступным использование внутри API композиции?

Комментарии:

1. вы должны использовать useContext для плагина get