vue+ts中引用全局属性报类型错误

main.ts

import { createApp } from 'vue'
import App from './App.vue'
const app=createApp(App)
//添加一个全局属性
app.config.globalProperties.$http='我是一个网络请求'

index.vue

<template>
    <div>
    <h3>{{$http}}</h3>
    </div>
</template>

<script setup lang="ts">

</script>

<style lang="scss" scoped>

</style>

在引用全局属性$http的时候报如下错误:

any:
类型“{ $: ComponentInternalInstance; $data: {}; $props: { style?: unknown; key?: string | number | symbol | undefined; ref?: VNodeRef | undefined; ref_for?: boolean | undefined; ... 7 more ...; class?: unknown; }; ... 10 more ...; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) ...”上不存在属性“$http”。ts(2339)

解决办法:在vite-env.d.ts文件中,或者新建一个.d.ts文件,加入如下配置即可:

export {}
 
declare module 'vue' {
  interface ComponentCustomProperties {
    $http: any
  }
}

这样问题就解决了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值