问题标签 [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 投票
1 回答
220 浏览

node.js - 安装 Cycle.js 并运行示例:enoent package.json 文件丢失

我在 NodeJs 方面没有太多经验。我想试试 Cyclejs。文档说:

创建一个新目录并在该目录中运行它:

npm install rx @cycle/core @cycle/dom

当我这样做时,我收到以下警告:

之后我克隆了循环示例并npm start按照说明运行。我收到以下错误:

错误说我需要package.json. git 存储库没有它。我应该自己创建吗?如果是这样,我应该在该文件中放入什么?

npm 版本是 3.3.8

我在 Node.js 中全局安装了 browserify@11.2.0 和 babel@5.8.23 库。

0 投票
4 回答
698 浏览

cyclejs - 如何在没有 Browserify/Webpack 的情况下使用 Cycle.js?

Bower:我找不到 @Cycle/Core、@Cycle/DOM 的 Bower 包,这些库是否存在?我很困惑为什么首先有一个 NPM 包,因为 Cycle.js 是基于前端的(而 NPM 仅专门用于后端)。

ES5:是否可以将 Cycle.js 与 Gulp/Typescript/ES5 一起使用(而不是使用 Browserify/webpack)?

0 投票
2 回答
1239 浏览

javascript - How to request data sequentially in Cycle.js?

I’m new to reactive programming and toying around with cycle.js, trying to implement who to follow box from this tutorial. But I understood that for proper implementation (and learning purposes) I don’t have one piece of data: full user name. I can get it by sequentially getting users and then full user data from server. In imperative style I would do something like this:

But how do I do it in cycle? I’m using fetch driver and trying something like this:

where getJSON is

And I’m always getting some cryptic (for me) error like: TypeError: Already read. What does it mean and how do I handle it properly?

0 投票
1 回答
553 浏览

cyclejs - Cycle.js HTTP 添加加载指示器后发送多个请求

我一直在尝试创建一些 cycle.js 示例作为嵌套对话,并使用选择框在它们之间切换。

其中一个对话是官方 Github HTTP 搜索示例的克隆。

另一个对话是更基本的对话,没有 HTTP,只有 DOM。

我觉得我在 2 之间切换,但我对 Rx 相当陌生,因此可能会不正确或幼稚地完成。

在我向搜索页面添加加载指示器之前,这一切似乎都运行良好。

为此,我转了这个:

进入这个:

我现在有 2 个问题

  1. 复选框的每次更改都会记录两次“复选框值设置为”和“路由已更改”消息。
  2. HTTP 请求日志只触发一次,但如果您在开发工具中观察网络活动,您会同时看到两个 GET 请求。

谢谢你的帮助!

编辑:解决了我自己的问题。请参阅下面的答案。

0 投票
1 回答
319 浏览

javascript - 如何使用 RxJS 在 Cyclejs 中将 Observable 流转换为单独的可更新 div

我正在尝试获取 10 个对象的随机 Observable 流,每个对象具有以下属性:

{tileNum: '6', tileName: 'game-of-thrones' clickCount:'1'}

接下来,clickCount每次tileNum对象内部相同的对象通过流使用tileNum. 现在对于流式传输的每个tileNum需要附加到 div (0-9) 的棘手位,这些 div 将需要预先填充并clickCount增加附加到对象的相关 div。例如:

div 6 = clickCount:'1'=> {tileNum: '6'..}=>div 6 = clickCount:'2'

到目前为止,我有:

index.js

模型.js

视图.js

现在我只能填充一个在每个新流对象上都会发生变化的 div。作为警告但不是必需的,如果可以订购 div,clickCount那将是惊人的。

0 投票
1 回答
130 浏览

cyclejs - 组件、隔离功能和“参考透明度”

我有一个(相当哲学的)问题涉及cyclejs组件:isolate() 引用透明吗?.

查看此后复制的简化代码,我无法区分任何“杂质”来源。那是因为未简化的代码引入了它,还是因为该函数将返回具有两个不同引用的两个不同对象?

在那种情况下,这两个对象不会有相同的行为(即在相同的目标上侦听和响应相同的事件,并产生不同的 vTree$ 但封装完全相同的序列?)。如果是这样,这两个对象不是本质上相同吗,即在程序中的任何地方用另一个替换一个不应该改变任何东西?哪种方式isolate是参照透明的?我哪里做错了?

实际上,如果两个调用都返回无法替换的不同对象,那么这些对象有何不同?

0 投票
1 回答
258 浏览

javascript - Cycle.js 如何通过在弹出窗口外部单击来关闭它

我正在使用 Cycle.js 框架,并创建了一个弹出/覆盖作为组件。

我已经隔离了弹出组件。我通常用作事件源的 sources.DOM 仅限于弹出 dom。

组件是否有 cycle.js-way 来检测其外部的点击?还是我应该只求助于将侦听器附加到文档?

0 投票
1 回答
193 浏览

javascript - Rx (JS):如何在 flatMap 流中更新订阅

我有一个包含 messages$s 的 state$ 流,它是 messages$ 流的数组。State$ 被更新并且新消息$ 出现。

我希望订阅者在一个单一流中处理来自所有消息 $ 的消息,并且我希望这个流只包含正确的事件。

我每次都尝试对合并的消息$进行平面映射,但遇到的问题是旧消息$s(在以前的 states$ 值中)被多次订阅。

我该如何解决这个问题?

let allMessages$ = state$.flatMap(s => { return Observable.merge(s.messages$s) } ) allMessages$.subscribe((x)=>{ console.log('message', x) // message from single message$ appear multiple times })

问题是,在 state$ 更新(推送项目)后,旧的会被多次订阅。 state$ --s(1)---------s(2)---- message$s[0]. --m1----m2-----------m4-- message$s[1] ---------------m3-------- allMessages$ --m1----m2-----m3----m4 m1 m4

s(1) - 当 state 有 1 个 message$ 时,s(2) 当第二个 message$ 添加时所以 allMessages$ 触发来自 item1 的消息。

我想要的是: state$ --s(1)---------s(2)----- message$s[0] --m1----m2-----------m4-- message$s[1] ---------------m3-------- allMessages$ --m1----m2-----m3----m4

这个文件显示了简化的情况:http: //jsfiddle.net/8jFJH/797/

0 投票
2 回答
776 浏览

javascript - 似乎找不到有关测试 Cycle.js 应用程序的资源

我一直在尝试搜索有关测试 Cycle.js 应用程序的指南,但似乎找不到。有人可以指点我一个指南或提供一些例子吗?

0 投票
1 回答
99 浏览

javascript - Rx 计时器状态未在 Cycle.js 中更新

当有人单击我打算用作某些元素的不透明度的按钮时,我正在启动一个计时器。当我do用来跟踪该值时,我可以看到它向控制台吐出 40 次,但在视图中数字保持不变。不知道我哪里错了:

更新:原来在超标中有一个小错误导致它出现奇怪的行为。我什至没有将它包含在我的示例中,因为我认为它不相关。

只需将上述更改为(添加类的指示)

让一切都神奇地工作。