首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个由两个组件“混合”的组件(从两个组件扩展)

创建一个由两个组件“混合”的组件(从两个组件扩展)
EN

Stack Overflow用户
提问于 2018-07-23 23:11:26
回答 1查看 41关注 0票数 0

我正在构建一组组件,这些组件可以在它们的行为中包含变体。

更具体地说,我有一个x-tag组件,它可以表现为一个简单呈现文本的<span>,或者一个也呈现文本和链接到另一个路由的<a>

对于“链接”部分,我使用Ember提供的链接组件 (即link-to)来不自己重新实现所有路由逻辑。

理想的应该只有两个组件:

  • x-tag,处理基本逻辑的简单文本版本。
  • x-tag-link-to,链接版本,应该是从link-tox-tag组件扩展的组件。

由于不能从两个组件扩展,所以我将x-tag组件中的逻辑移到tag混频器中。所以这些组件的结果是这样的:

  • x-tag,实现tag混和的组合。
  • x-tag-link-to,扩展link-to组件并实现tag混和的组合。

这解决了问题,但混淆了在几个文件中的逻辑,而且我还有更多的组件,比如标签,它也有链接版本,用许多包含几乎整个组件逻辑的mixins文件夹填充。,只是感觉不对,,还是这是正确的方法?

如果需要,我可以提供代码示例。

EN

回答 1

Stack Overflow用户

发布于 2018-07-25 16:18:26

正如Gennady在评论中所说,我最终使用了mixins。

其结果是:

  • mixins/components/x-tag:具有标记组件逻辑。
  • components/x-tag:实现混音的空组件。
  • components/x-tag-link-to:扩展link-to组件以实现混音。

我放弃了组合,尽管这似乎是正确的路径,但从长远来看,将内部组件的实现映射到包含的组件将是一场噩梦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51488330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档