動的に作成されたダイアログは、デフォルトでは <body> タグの下にマウントされるため、グローバルの Provide および Inject は使用できません。 Dialog を div#app または親の下にマウントするにはどうすればよいですか?
<body>
div#app
app.provide() を使用すると、 <App/> コンポーネント の代わりに Vue app にプロバイダーを設定できます。たとえば、エントリ スクリプト リーリー これにより、ダイアログが
を使用すると、
コンポーネント の代わりに Vue
リーリー
にインストールされている場合でも、Quasar ダイアログの子で同じ項目の inject() を使用できるようになります。
inject()
「デフォルト」だけでなく、常に <body> (非 SSR) またはどこにもインストールされません (SSR モード)。ソースを確認してください - https://github.com/quasarframework/quasar/blob/dev/ui/src/utils/private/global-nodes.js#L6
app.provide()
<body>を使用すると、
<App/>コンポーネント の代わりに Vue
app にプロバイダーを設定できます。たとえば、エントリ スクリプトリーリー
これにより、ダイアログがにインストールされている場合でも、Quasar ダイアログの子で同じ項目の
inject()
を使用できるようになります。「デフォルト」だけでなく、常に
<body>
(非 SSR) またはどこにもインストールされません (SSR モード)。ソースを確認してください - https://github.com/quasarframework/quasar/blob/dev/ui/src/utils/private/global-nodes.js#L6