【发布时间】:2016-06-20 09:29:06
【问题描述】:
我希望能够动态传递子组件。子组件可以根据父组件的实例而有所不同,有没有什么办法可以在不注册全局组件的情况下实现?
这是我想要实现的一个简单示例:
// 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`)
},
};
为清楚起见进行编辑:最好传递一个实际的组件对象而不是名称。
【问题讨论】:
标签: javascript vue.js