考虑两个哑组件A和B. A OR B中的一个将由组件C显示,组件C用于智能组件D.
D (smart)
|
C (dumb)
/ \
A B (both dumb)
A和B都有10个输入。我看到至少有几种方法可以解决这个问题:
是否有处理这种情况的最佳做法或常见做法? A和B的输出出现了类似的问题,当使用任何双向数据绑定时,两种情况都会出现!
我试过四处搜索,甚至尝试寻找React而不是Angular的建议,但无济于事。
我可以尝试生成一些类似于我正在处理的代码的示例代码,如果这会有所帮助,但这需要一些时间。
我会强烈考虑将数据通信转移到共享服务,而不是试图通过输入和输出传递所有这些。
如果组件“C”不需要任何绑定到“A”或“B”的信息,则它根本不必处理它。
共享服务可以包含20个左右的数据项,以及“A”和“B”的Subject或BehaviorSubject将更改传递回“D”。
我不确定你所做的事情是否足够复杂以保证它,但如果你做了很多这样的事情,那么Redux可以为你提供一个很好的模式。
当最简单的绑定太简单时,我最近开始使用Redux,取得了巨大的成功。我发现ngrx / store有点繁琐,难以使用且没有很好的文档记录,尽管它有很多新闻,并且发现angular-redux(一个瘦的Angular包装器在实际的Redux库上)更容易使用,并且它有更好的文档。