子コンポーネントを動的に渡すことができるようにしたい。子コンポーネントは、親コンポーネントのインスタンスごとに異なる場合があります。グローバルコンポーネントを登録しなければ、これを達成できる方法はありますか?明確にするためVue.jsのインスタンスごとに子コンポーネントを解決することは可能ですか?
// Component A
export default {
template: `
<div>
<div>Some stuff...</div>
<component-b :passed-component="passedComponent"></component-b>
</div>
`,
data() {
return {
passedComponent: { /* ... */ },
};
},
// Note: passedComponent doesn't necessarily come from `data`
};
// Component B
export default {
template: `
<div>
<div>Some more stuff...</div>
<component-c :passed-component="passedComponent"></component-c>
</div>
`,
props: ['passedComponent'],
};
// Component C
export default {
template: `
<div>
<div is="passedComponent"></div>
</div>
`,
props: ['passedComponent'],
components: {
// How can I register `passedComponent` here?
// (it can differ per instance of `component-c`)
},
};
編集:
は、ここで私が達成しようとしているかの簡単な例だ名ではなく、実際のコンポーネントオブジェクトをダウン渡すことが好ましいであろう。
私は行動を好むでしょうコンポーネント名の代わりにオブジェクトを小道具として送信することができます。それ以外に第二の選択肢はそれほど悪くない。何も良いことがなければ、私は答えとしてこの投稿を受け入れます。 –
これは機能します。私の編集を参照してください。 –
※ほとんど*作品。これは実際に私の最初の実装でしたが、問題はコンポーネントが初めて解決されるということです。つまり、インスタンスごとに異なることはできません。 –