Я подключил плагин к 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». " и автозаполнение не работает.
Я сделал что-то не так?