v3+ts 中定义全局方法

文章介绍了如何在Vue应用中创建一个名为lookGoods的方法,将其全局化以便在组件内直接调用。首先在util.js中导出方法,然后在main.ts中导入并添加到全局属性。为了处理类型检查问题,创建了global.d.ts来扩展Vue的运行时核心类型。在组件内部,可以通过模板直接调用或在setup脚本中使用getCurrentInstance访问该方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在util.js定义方法

export function lookGoods(item: object | any){
    ...
}

main.ts

import { lookGoods } from './util'
const app = createApp(App)
// 查看商品
app.config.globalProperties.$lookGoods = lookGoods

扩展类型,否则打包报错。
types文件夹下新建 global.d.ts

import Vue from 'vue'
declare module '@vue/runtime-core' {
    interface ComponentCustomProperties {
        $lookGoods:any
    }
}

组件中使用
1)直接使用

<div @click="$lookGoods(goodsInfo)">教科书</div>

2)script 中使用

<script lang="ts" setup>
import { getCurrentInstance } from 'vue'
 const { proxy } = getCurrentInstance() as any;
 
 const handleClick= (item: any)=>{
     proxy.$lookGoods(item)
 }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值