我正在嘗試?yán)斫馊绾问褂每蓪?dǎo)出函數(shù)創(chuàng)建組件。 例如:我想創(chuàng)建一個消息框,在其他組件中調(diào)用從該組件導(dǎo)入的showMessage()方法時,它將出現(xiàn)在屏幕上。 在消息框組件中,我想描述邏輯和模板。 如何實現(xiàn)這一點?非常感謝任何關(guān)于此的文檔/文章,如果有的話。
在App.vue中(或其他全局文件中)掛載您的消息組件,
通過store中的函數(shù)控制其props
例如
<MyMessage :value="isOpen" :title="title" :message="message" /> ... <script setup> ... const isOpen = reactive(piniaStore().message.isOpen); const title = computed (() => piniaStore().message.title); ... </script>
// store const message = reactive({{}); // 做一些響應(yīng)式的事情.. const showMessage(title, _message) => { message.title = title; message.message = _message; message.isOpen = true; } ...
然后,您可以在任何地方使用piniaStore().showMessage(...)調(diào)用該消息
(這段代碼只是一個概念,如果要正常運(yùn)行,您需要進(jìn)行開發(fā)...)
但我認(rèn)為您可以使用Quasar框架 - Dialog($q.dialog正是您所需的?。?或Ionic框架 - alert,Vuetify - dialog api等(每個框架都有這些東西)