VSCode (Vetur) не распознает настроенное свойство Vue в компоненте - PullRequest
1 голос
/ 03 апреля 2020

Я подключил плагин к Vue в файле main.ts, объявил его тип в файле plugin.d.ts, а затем использовал его в файле компонента. vue. Компиляция работает нормально, но IntelliSense VSCode все еще говорит мне, что это свойство не существует. Я что-то пропустил? Вот коды.

//plugin.ts
import Vue as _Vue from 'vue'
export class Plugin { 
  someFunc() { //do something } 
}
const plugin = new Plugin()
export default function myPlugin(Vue: typeof _Vue) {
  Vue.prototye.$plugin = plugin
}

и для объявления

//plugin.d.ts
import { Plugin } from './plugin'
declare module 'vue/types/vue' {
  interface Vue {
    $plugin: Plugin
  }
}

затем я монтирую его в точке входа,

//main.ts
import Vue from 'vue'
import plugin from './plugin'

Vue.use(plugin)

наконец, я хочу используйте плагин в компоненте,

//component.vue
import { Component, Vue } from 'vue-proprety-decorator'
@Component
export default class MyComponnent extends Vue {
  func() {
    this.$plugin.someFunc()
  }
}

Компиляция не показывает проблем, но intellisense говорит мне: «Свойство $ plugin» не существует для типа «MyComponent». " и автозаполнение не работает.

Я сделал что-то не так?

...