我正在将vue类组件与Typescript一起使用,我需要增加类型以使用第三方模块。
组件
export default class TestComponent extends Vue {
private created() {
this.$snotify.success('test')
}
}
shims.d.ts
import Vue from 'vue'
import { Snotify } from 'vue-snotify'
declare module 'vue/types/vue' {
interface VueConstructor {
$snotify: Snotify
}
}
“属性$ snotify在TestComponent类型上不存在”
Vue。$ snotify存在,但是即使扩展了Vue,此this。$ snotify也不会
我要去哪里错了?
答案 0 :(得分:1)
尝试增强Vue
类型而不是VueConstructor
:
declare module 'vue/types/vue' {
interface Vue {
$snotify: Snotify
}
}
答案 1 :(得分:0)
接受的答案似乎并没有实际起作用,而是在a related vue-snotify GitHub issue上查看@RomainLanz的答案:
import Vue from 'vue' import { SnotifyService } from 'vue-snotify/SnotifyService' declare module 'vue/types/vue' { interface Vue { $snotify: SnotifyService } }
在此处添加此答案,因为这是搜索相同内容时出现的页面之一。