问题标签 [cyclejs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
169 浏览

cyclejs - 如何从一个 DOM 事件中为两个流供电

表单有一个保存按钮。当点击它应该路由到另一个组件并保存表单数据。但是 router$ 流消耗了 click 事件,使 socket$ 流没有事件可以采取行动。在下面的代码中,saveClick$ 仅适用于 router$,但不适用于 socket$。

如何获得由同一事件提供支持的两个流?imitate()似乎在做这个把戏,但文档说它存在

允许一件事:流的循环依赖

这是一个非常基本的用例。感觉就像我错过了一些基本的东西。帮助表示赞赏。

0 投票
1 回答
83 浏览

redux - 在循环js中动态更新源和接收器?

我正在使用 redux-cycle 编写一个非常简单的应用程序,其中包含 3 个元素:

  1. 用于输入 url 的文本字段
  2. 连接到 websocket 端点的“连接”按钮
  3. 显示传入消息的输出面板

我已经根据这个答案编写了一个非常简单的 websocket 驱动程序https://stackoverflow.com/a/42926532/842860

连线代码是这样的:

问题是如何在单击连接按钮时使 websocket 重新连接到另一个端点?我是否需要修改我的 websocket 驱动程序来捕获事件并重新连接,或者 cyclejs 是否提供了一种动态更新源/接收器的方法?

0 投票
1 回答
217 浏览

typescript - cyclejs在地图操作期间从输入文本中提取目标

0 投票
1 回答
332 浏览

javascript - 在非洋葱化 Cycle.js 应用程序中使用 cycle-onionify

我可能正在尝试一些愚蠢的事情,但是我有一个足够大的洋葱化 Cycle.js 应用程序,并且我正在尝试了解onionify 的工作原理,所以我想将一个洋葱化组件嵌入到我原来的非洋葱应用程序中。

所以我有一个简单的 onion-ready 组件,增量/减量示例,还有一个简单的非洋葱循环应用程序,“Hello Last Name”</a> 示例——我如何将两者结合在一起,这样我就有了在同一个网页中一个接一个的增量组件和Hello组件?

Counter.ts, 洋葱准备组件

index.ts, 非洋葱主应用

尝试

如果我替换run(main, ...)run(counts, ...),就像 cycle-onionify 文档建议的完全洋葱化的应用程序一样,我只会看到预期的计数器。

但是counts,由于 , 的输出onionify(Counter)是一个函数,所以我认为我不能在我的 main() 中“实例化”它。

同样,我认为我不能通过Counter()在 main 内部调用来创建计数器组件,因为该函数需要sources.onion输入,而且我不确定如何创建.onion具有 type 的字段StateSource

问题

我如何Counter在我的 non-onionified 中使用这个 onion-ready 组件main

完整示例

完整示例可在https://gist.github.com/fasiha/939ddc22d5af32bd5a00f7d9946ceb39获得——克隆它,npm install以获取必要的包,然后make(运行tscbrowserify转换 TypeScript→JavaScript→browserified JS)。

0 投票
1 回答
72 浏览

xstream - 创建循环js驱动

我对这个框架比较陌生,正在尝试创建驱动程序。我理解这段代码:

但我还不确定如何让监听器(传入 $)像 http 驱动程序一样获取参数:

0 投票
1 回答
105 浏览

cyclejs - Cycle.js 驱动程序中可以有多个 DOM 对象吗?

到目前为止,我发现的所有 Cycle.js 示例都DOM在. 是否有可能拥有多个对象,例如一个名为“DOM1”和另一个名为“DOM2”的对象?这样做的目的是在一个 HTML 页面中控制两个独立的动态 DOM 区域,以保持第三个 DOM 区域静态定义在DOM1 和 DOM2 之间。driversrun(main, drivers)index.html

作为一个附带问题,我看到的示例通常div以 id 为#appor的 HTML 为目标#main-container,然后使用@cycle/dom div函数定义接收器,从而divdiv. 我还没有找到关于虚拟节点应该如何定义的明确解释或参考。假设上面的 DOM2 以一个 HTMLform元素为目标,并且应该包含两个input元素。是否必须div像所有示例中一样以 a 开头,还是可以input直接在.map调用中定义 s,如果是,如何定义?

0 投票
1 回答
325 浏览

javascript - Cycle.js 在按钮单击时获取输入值

我正在使用 Cycle.js 开发待办事项列表示例应用程序,但遇到了以下问题。我正在尝试在用户单击“添加”按钮时处理添加新的待办事项,这工作正常,但另一方面,我有一个提供文本输入更改事件的流,当与点击流结合时,它使我的应用程序添加新的待办事项即使文本输入发生更改,但未单击“添加”按钮,例如焦点移出。在这种情况下有什么方法?我可以直接消除 todoChange$ 流并直接从 addClick$ 流访问 DOM,还是违反 Cycle.js 的理念?

JS 斌:https ://jsbin.com/wugawaheni/edit?js,console,output

0 投票
2 回答
178 浏览

javascript - Cycle Js - 将历史与状态同步的方法?

我正在尝试在一个非常简单的循环 js 示例应用程序中将浏览器历史记录与包含在 onionify 状态存储中的状态同步。我从状态存储映射到历史没有问题,问题在于将 history.state 减少回状态存储。从本质上讲,我陷入了状态流相互流入的无限循环中,这会使浏览器崩溃。

我想我的问题是:有没有更简单的方法可以做到这一点?这里有帮助的操作员吗?我觉得我想做的事情基本上是不可能的。任何有用资源的答案或链接将不胜感激。

0 投票
1 回答
48 浏览

javascript - Cycle.js DOM 驱动程序是否适用于 JSX 进行转换?

我在一段代码的 DOM 源之上有一个非常简单的转换:

现在,如果组件(即tt_slider)指定了没有 JSX 的 HTML 代码,比如说

然后我从我的转换中获得所需的输出:

但是如果我使用 JSX 指定这个:

我只是得到

难道我做错了什么?这是标准行为吗?或者可能是 Cycles 某处的错误?

谢谢

0 投票
1 回答
73 浏览

javascript - 使用 CycleJS 中 localStorage 的初始值折叠

我正在使用 cycleJS 制作一个表情符号查看器应用程序,用户可以在其中单击任何表情符号以从他们的收藏夹列表中添加/删除它。该列表也会localstorage在每次更改时保存。我通过折叠点击流(在每次点击时添加或删除表情符号)使用xstream构建列表:

我可以使用@cycle/storage驱动程序将此流保存localStorage并加载到页面上:

但是,我无法弄清楚如何将数组从 localStorage 预加载到最喜欢的流中。从 加载数组后localStorage,我尝试以favEmojis$我能想到的各种方式将其与流合并/连接。例如:

但这不起作用 - 数组 fromlocalstorage被折叠clickFavEmoji流覆盖。如果有人能指出我正确的方向,我将不胜感激。

注意完整的代码很长,所以我只包括了看起来最相关的部分。