【发布时间】:2018-02-27 17:40:46
【问题描述】:
到目前为止,我发现的所有 Cycle.js 示例都在 run(main, drivers) 的 drivers 参数中使用了一个名为“DOM”的 DOM 对象。是否可以有多个对象,例如,一个名为“DOM1”,另一个名为“DOM2”?这样做的目的是在一个 HTML 页面中控制两个独立的动态 DOM 区域,以保持第三个 DOM 区域在index.html 中静态定义,并夹在 DOM1 和 DOM2 之间。
作为一个附带问题,我看到的示例通常针对具有#app 或#main-container 的ID 的HTML div,然后使用@cycle/dom div 函数定义接收器,因此在div 中创建一个不必要的div AFAICT。我还没有找到关于虚拟节点应该如何定义的明确解释或参考。假设上面的 DOM2 以 HTML form 元素为目标,并且应该包含两个 input 元素。在所有示例中必须以div 开头,还是可以直接在.map 调用中定义inputs,如果是,如何?
【问题讨论】:
-
这是ESNextbin 两个独立 DOM 的演示。
-
谢谢@bloodyKnuckles。所以我猜答案是是的,你可以有两个或更多的DOM。但是,我的问题现在变成了“DOM 必须 是独立的吗?”正如您提到的和演示中所示,或者一个 DOM 至少可以被动地影响另一个,例如 DOM1 中的输入字段和 DOM2 中的 h1 元素。我想我可以对此进行试验。
标签: cyclejs