首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >om.next:如何使用调节器的多个组件

om.next:如何使用调节器的多个组件
EN

Stack Overflow用户
提问于 2016-04-04 12:50:04
回答 2查看 752关注 0票数 1

我对om.next (和结束语)很陌生,我有以下问题。我只能使用协调器(即调用其查询方法)调用根组件;其他每个组件似乎都需要使用道具和om/factory调用。我想我漏掉了什么。

我试图创建一个待办事项列表应用程序(100点的创意!),与过滤器显示已完成/不完整/所有项目。如果我的TodoList组件是根组件,我可以使用query:[:todos]来调用它,没有问题。我希望有一个不同的根组件,也有一个通过调节器的Filter组件。

我可以看到以下可能的选择:

  • 有多个om/加根!调用(这使我们无法拥有使用协调器的嵌套组件,而不是我在教程中看到的模式)。
  • 将所有东西包装在一个全局组件中,并通过道具传递状态。但是这些例子使read成为一个multimethod,它不适合这种方法。

这个是可能的吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2016-04-04 14:18:25

one (以及其他类似于重构)背后的概念是,有一个真理的来源--你的应用程序状态。接下来,使用Om,应用程序的UI由一个(上下颠倒)组件树组成。在呈现过程中,通过Om将应用程序状态加载到Root组件中,然后解释其静态查询。此应用程序状态作为“道具”接收。你的工作就是把这些道具拆开,然后把“副道具”放在树的其他地方。您可以在每个组件的render方法中这样做。

所以你的第二个选择是走的路。read与静态组件查询中的关键字相关。如果您确保您的状态是默认db格式,那么实际上每个read都可以使用db->tree以相同的方式实现。拥有全局组件并使每个read成为多重方法是不相关的概念,因此并不是不兼容的。事实上,两者兼而有之是非常惯用的。

已经有一些ToDo应用程序示例可以供您参考:这里这里

需要注意的一点是,您的Root组件查询将使用联接来包含其他组件,因此在我看来,查询[:todos]看起来不太正确。像[{:todos (om/get-query TodoList)}]这样的东西会更好:-)

票数 1
EN

Stack Overflow用户

发布于 2016-04-04 14:56:50

如果您还没有,请看一下组件、标识和规范化·omcljs/om Wiki·GitHub。本教程展示了如何在单个根下组织多组分应用程序--它还应该明确每个组件如何使用readmutateIdentIQuery等来协调通过调节器与唯一和唯一应用程序状态的交互。应用程序状态基本上是应用程序的数据库--在单个地图中使用嵌套的数据结构。

see应用程序通常只有一个根组件--如果有多个根,它们通常是按路由组织的,即每个路由有一个根(也请参阅顶层反应元件.介质)。

还有:Om/Next:协调器-介质

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

https://stackoverflow.com/questions/36403174

复制
相关文章

相似问题

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