【问题标题】:Declare prototype property in vuejs with typescript使用 typescript 在 vuejs 中声明原型属性
【发布时间】:2021-08-18 17:53:42
【问题描述】:

我在 vue 原型中声明 $bus 以访问全局但收到此错误

Property `prototype` does not exist on type vue.

可以帮助我如何使用打字稿进行声明。 Vue 版本是 3。

【问题讨论】:

标签: typescript vuejs3


【解决方案1】:

您将不再将其注入到 Vue 原型中。如果您想以类似于原型方法的方式使其全局可访问,您可以使用应用程序实例中的全局属性。

const appInstance = createApp(MyVueApp);
appInstance.config.globalProperties.$bus = myBus;
appInstance.mount('#appId');

如果您想从组件访问它,对于 Option-API 组件,您可以使用this.$bus 访问。对于Composition API,需要用getCurrentInstanceVue方法获取实例,所以:getCurrentInstance().appContext.config.globalProperties.$bus

在将对象添加到实例方面,我不认为 typescript 有任何特定的内容,但是当您从 globalProerties 对象获取它时,您可能需要键入 $bus

【讨论】:

    猜你喜欢
    • 2017-09-10
    • 2017-12-31
    • 1970-01-01
    • 2021-09-19
    • 2019-06-28
    • 2020-02-04
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多