使用 typescript 在 vuejs 中声明原型属性
Posted
技术标签:
【中文标题】使用 typescript 在 vuejs 中声明原型属性【英文标题】:Declare prototype property in vuejs with typescript 【发布时间】:2021-08-18 17:53:42 【问题描述】:我在 vue 原型中声明 $bus 以访问全局但收到此错误
Property `prototype` does not exist on type vue.
可以帮助我如何使用打字稿进行声明。 Vue 版本是 3。
【问题讨论】:
要创建事件总线,请在此处查看我的答案***.com/a/64019074/8172857 【参考方案1】:您将不再将其注入到 Vue 原型中。如果您想以类似于原型方法的方式使其全局可访问,您可以使用应用程序实例中的全局属性。
const appInstance = createApp(MyVueApp);
appInstance.config.globalProperties.$bus = myBus;
appInstance.mount('#appId');
如果您想从组件访问它,对于 Option-API 组件,您可以使用this.$bus
访问。对于Composition API,需要用getCurrentInstance
Vue方法获取实例,所以:getCurrentInstance().appContext.config.globalProperties.$bus
在将对象添加到实例方面,我不认为 typescript 有任何特定的内容,但是当您从 globalProerties
对象获取它时,您可能需要键入 $bus
。
【讨论】:
以上是关于使用 typescript 在 vuejs 中声明原型属性的主要内容,如果未能解决你的问题,请参考以下文章
Vue js,使用 TypeScript 从 Vue 中的表单获取数据
在普通的 VueJS 项目中使用 Typescript 函数