访问om.next子组件状态

时间:2016-05-19 15:04:42

标签: om om.next

我只是选择了om.next并遇到了一种情况,我已经将某些表单输入实现为保持本地状态的组件,例如:验证状态,实际输入值等 - 通过om.next/update-state!om.next/get-state更新和访问此状态。这种问题似乎是当我将表单中的输入包装在父组件中时我不确定如何获取输入组件所保持的状态。将父组件作为输入组件的属性传递是否更好?那些没有父组件的情况呢?

1 个答案:

答案 0 :(得分:2)

在我看来,您想要实现的用例有两个选项:

  1. 按照您所说的
  2. 传递父组件作为参数
  3. 在全局app-state中有一个条目,表示正在编辑的当前表单,您可以通过transact!更新,无论输入对应的组件如何。这样,表示输入的每个组件都知道app-state在哪里更新自身(当前表单中的哪个键) - 可能在一个变异函数中被捕获。
  4. 鉴于目前的代码,

    1)可能是最容易实现的,但我总是喜欢2)因为它没有偏离Om Next推荐的“单一事实来源”意见(并试图执行)。表单数据实际上是业务数据,可能不希望分散在组件中。可测试性只是我从这种方法中立即看到的一个优势。