vue3+vant 引入Dialog Toast都会失败报错not defined

今天在封装vant组件的时候,刚好要用到toast提示信息的组件,索性就按照官网提供的引入方法进行正常的引入,嘿,好家伙,一顿操作下来后发现竟然报Toast未定义,这就纳闷了,明明步骤都是对的啊,所以就开始各种百度,发现也好多人遇到这个问题,但都是通过在当前组件中引入toast的方法解决的,虽然这是个解决方法,不过有点麻烦,我就使用了vue3全局变量的方法把组件挂载到全局使用了

官方的使用方法

我的方法

main.js中的代码

javascript 复制代码
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

import 'vant/es/toast/style';
import { Toast } from 'vant'

const app = createApp(App)
app.config.globalProperties.$toast = Toast

app.use(store)
    .use(router)
app.mount('#app')

组件中使用

javascript 复制代码
// 获取组件的实例
import { getCurrentInstance } from 'vue';
const { proxy } = getCurrentInstance()
proxy.$toast("122")

效果


第二种方案

按照官方的来

组件中使用

vue3 中的确是访问不到this,不过我们可以使用 getCurrentInstance方法获取组件的实例,这样就可以使用全局的toast方法了

javascript 复制代码
import { getCurrentInstance } from 'vue';
const { proxy } = getCurrentInstance()
proxy.$toast("122")
相关推荐
CappuccinoRose8 分钟前
输入事件进阶
前端·javascript·输入事件
500842 小时前
React Native for OpenHarmony 实战:三方库 react-native-url-polyfill 的鸿蒙化适配指南
javascript·react native·react.js·性能优化·electron·harmonyos
大纽耶耶3 小时前
我把 YOLO 训练做成了网页版:需求设计与技术选型
vue.js
米多科技3 小时前
让 AI 走进我的 3D 世界:一个 MCP server 的完整实现
javascript
大纽耶耶3 小时前
开发 YOLO 训练管理平台的 23 个实践教训
vue.js
Maynor在掘金3 小时前
1.9 万 Star 的 Hypit:让 AI Agent 帮你“一键复刻”爆款视频,保姆级上手教程
vue.js·github
ym hyd 1113 小时前
门诊挂号系统源码 Java+SpringBoot+Vue3 前后分离
java·vue.js·spring boot·毕设
asong3 小时前
从写代码到部署上线,Cloudflare 给 AI 配了一把新钥匙
前端·javascript·后端
lerhxx4 小时前
从 Markdown 到生成式 UI:AI 应用中的流式渲染实践
前端·javascript
斯内普吖4 小时前
(开源)宠物饲养系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源·宠物