v-bind
を使用して props
を提供します。 </p>
<pre class="lang-js prettyprint-override"><code><component :is='MyComponent' v-bind='myProps' />
</code></pre>
<p><code> を使用して </code> 機能を提供/挿入したいと考えています。提供したプロパティを動的コンポーネントに追加するにはどうすればよいですか。私の動的コンポーネントは、<code>setup</code> 関数で <code>inject</code> を呼び出し、その子コンポーネント <code> の </code> 値を期待しています。 </p>
<p>これは Vue では文書化されていませんが、試してみましたが成功しませんでした。 </p>
<pre class="brush:php;toolbar:false;"><component :is='MyComponent' v-bind='myProps' :provide='myProvidedProps'/></pre>
<p><code>provide</code> オブジェクトを <code>props</code> オブジェクトに入れてみました。 </p>P粉1229324662023-08-31 00:50:39
Vue3 ソース コードを参照した後、指定をテンプレートで
動的コンポーネントに直接提供する方法はありません。これは、動的コンポーネントをホストする親の設定関数またはオプション、あるいは動的コンポーネントの設定またはオプションで呼び出す必要があります。
を呼び出します。
リーリー
ここで、各動的コンポーネントが受信プロバイダーを理解し、呼び出す責任を負う必要があるため、これには問題があります。解決策 1
利用可能 (中間コンポーネント)
リーリー
次のように使用します:リーリー
解決策 2default スロット に配置するだけで済みます。
リーリー
そして次のように使用します:リーリー