深夜钻牛角尖钻懵逼了,求前段大佬解惑

2023-03-23 23:51:40 +08:00
 ajaxgoldfish

深夜钻牛角尖钻懵逼了,求前段大佬解惑,本人前端小白,但是现在在做自己的项目只能自己来搞前端。

我想使用 Element-plus 的 Message ,一开始接触的 vue2+elementui+js ,直接:

this.$message('这是一条消息提示');

就能用。

现在的项目是 vue3+ts+Elementui-plus

有一种可用的是:

//按需引入
import { ElMessage } from "element-plus";

//然后再调用
ElMessage.success("这是一条消息提示");

我嫌这种太麻烦,想弄和 vue2 那种,然后各种 google 、chatgpt 、copilot 、得出的答案都是:

//main.ts 中全局挂载
import ElementPlus from 'element-plus';
import 'element-plus/lib/theme-chalk/index.css';

const app = createApp(App);
app.use(ElementPlus);

app.config.globalProperties.$message = ElementPlus.ElMessage;//但是此处报错

错误如下:

Property 'ElMessage' does not exist on type '{ version: string; install: (app: App<any>, options?: Partial<ConfigProviderProps> | undefined) => void; }'.ts(2339)

请教大佬们,怎么才能在 vue3 ts element-plus 环境下像 vue 环境下优雅地使用 Message 消息提示

this.$message('这是一条消息提示');//类似于这种
4591 次点击
所在节点    Vue.js
23 条回复
xuyang2
2023-03-24 12:44:32 +08:00
改掉自己的陋习,使用按需引用的方式
sjhhjx0122
2023-03-24 13:57:56 +08:00
@ajaxgoldfish 可以通过 getCurrentInstance()拿到当前组件的实例,但是按需引入你不喜欢,还是回到原点
YouCode
2023-03-24 14:31:31 +08:00
改掉自己的强迫症,使用按需引用的方式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/926688

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX