gpt4 book ai didi

typescript - Vue `install` 函数有类型吗?属性 `directive` 应该存在于类型 `Vue` 上吗?

转载 作者:行者123 更新时间:2023-12-04 17:25:38 24 4
gpt4 key购买 nike

我正在为我的 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

参见 https://github.com/vuejs/vue/blob/dev/types/vue.d.ts#L80

关于typescript - Vue `install` 函数有类型吗?属性 `directive` 应该存在于类型 `Vue` 上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63650559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com