Vue `install` 函数有类型吗? 属性 `directive` 应该存在于 `Vue` 类型上吗?
Are there types for Vue `install` function? Should property `directive` exist on type `Vue`?
我正在为我的 vue 指令打字,但我似乎无法找到我应该为 Vue 安装功能使用什么类型。
选择 install(Vue: any): void
似乎有点奇怪。
我试过导入 Vue,然后使用 install(Vue: Vue)
,但这会抛出一个错误,即 Vue 上没有 .directive
,这也很奇怪。
我应该如何输入安装函数? Vue
类型应该在这里工作吗?我在这里遗漏了什么,或者 Vue
遗漏了什么?
import { DirectiveOptions } from "vue"
const directive: DirectiveOptions = {
bind(elem, bind, vn) {
console.log('bound')
}
};
export default {
install(Vue: any): void { // what types should be used here?
Vue.directive("do-stuff", directive);
}
};
您想要的类型是VueConstructor
。以下是 Typescript Vue 插件的创作方式
import { VueConstructor, PluginObject, DirectiveOptions } from "vue"
const directive: DirectiveOptions = {
bind(elem, bind, vn) {
console.log('bound')
}
}
const plugin: PluginObject<any> = {
install (Vue: VueConstructor): void {
Vue.directive("do-stuff", directive)
}
}
export default plugin
我正在为我的 vue 指令打字,但我似乎无法找到我应该为 Vue 安装功能使用什么类型。
选择 install(Vue: any): void
似乎有点奇怪。
我试过导入 Vue,然后使用 install(Vue: Vue)
,但这会抛出一个错误,即 Vue 上没有 .directive
,这也很奇怪。
我应该如何输入安装函数? Vue
类型应该在这里工作吗?我在这里遗漏了什么,或者 Vue
遗漏了什么?
import { DirectiveOptions } from "vue"
const directive: DirectiveOptions = {
bind(elem, bind, vn) {
console.log('bound')
}
};
export default {
install(Vue: any): void { // what types should be used here?
Vue.directive("do-stuff", directive);
}
};
您想要的类型是VueConstructor
。以下是 Typescript Vue 插件的创作方式
import { VueConstructor, PluginObject, DirectiveOptions } from "vue"
const directive: DirectiveOptions = {
bind(elem, bind, vn) {
console.log('bound')
}
}
const plugin: PluginObject<any> = {
install (Vue: VueConstructor): void {
Vue.directive("do-stuff", directive)
}
}
export default plugin