【发布时间】:2018-04-30 14:56:57
【问题描述】:
我的应用中有多种卡片变体。每张卡片都包含常见的子组件(文本块、头像、图像)
当一个组件是特定卡片组件的兄弟(不一定是直接子级)时,我想将特定的 css 类分配给它。
或者当组件在特定卡片中呈现时添加一些 html 包装器元素。
实现此目的的推荐方法是什么?
或者必须为每种卡片变体创建不同的组件?
【问题讨论】:
-
我能想到:将样式应用为道具?并添加一个容器(你已经提到过)
-
这真的取决于你希望它们有多不同。如果您可以简单地使用 CSS 类对样式差异进行硬编码,只需将
class="..."添加到您的组件中即可。否则,您可能需要考虑为您的组件使用 mixins。 -
是的,拥有一个容器父组件来“协调”子组件是要走的路
-
请不要这样做。共享状态应该在存储中。 Vue 组件不应该知道或关心它们的兄弟姐妹。将您的状态放入商店。
-
@bbsimonbb 我可以举个例子吗?
标签: vuejs2