在做项目的时候,想把一个方法挂载到app上,结果在组件使用中报错。
虽然报错,但是可以运行。
经过一番查找找到问题所在,原来是没有声明类型。在全局创建一个index.d.ts的文件,
然后输入代码。
import utlis from '@/utlis'
import lodash from 'lodash'
import api from '@/api/index'
import type { antMessageType, antConfirmType } from './type/interface/antd'
declare module 'vue' {
interface ComponentCustomProperties {
$_u: typeof utlis
$_l: typeof lodash
$api: any
$message: antMessageType
$confirm: antConfirmType
}
}
另外在若想在setup中获取到globalProperties上的属性,需要从vue导入getCurrentInstance, ComponentInternalInstance。具体用法如下:
import { getCurrentInstance } from 'vue'
const { proxy } = getCurrentInstance()!