Heim  >  Fragen und Antworten  >  Hauptteil

Installieren Sie Quasar Dialog unter der Stammkomponente oder der übergeordneten Komponente: Wie geht das?

Ein dynamisch erstellter Dialog wird standardmäßig unter <body>标签下,这样就无法使用全局的Provide和Inject。 Dialog如何挂载在div#app oder unter dem übergeordneten Element gemountet?

P粉990008428P粉990008428205 Tage vor435

Antworte allen(2)Ich werde antworten

  • P粉561438407

    P粉5614384072024-03-28 11:47:35

    您可以使用 app.provide() 在 Vue app 上设置提供 而不是 <App/> 组件。例如在入口脚本中

    import { createApp } from 'vue'
    import { Quasar, Dialog } from 'quasar'
    import App from './App.vue'
    createApp(App)
        .provide('name', value)
        .use(Quasar, {
            plugins: {
                Dialog,
            }
        })
        .mount('#app')
    

    然后,您将能够在 Quasar 对话框子项中使用 inject() 相同的项目,即使该对话框安装在 <body> 下。

    Antwort
    0
  • P粉018653751

    P粉0186537512024-03-28 09:00:31

    它总是安装在 <body> (非 SSR)下或无处安装(SSR 模式) - 不仅仅是“默认情况下”。只需查看来源 - https://github.com/quasarframework/quasar/blob/dev/ui/src/utils/private/global-nodes.js#L6

    Antwort
    0
  • StornierenAntwort