问题标签 [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.
cyclejs - 如何在没有 Browserify/Webpack 的情况下使用 Cycle.js?
Bower:我找不到 @Cycle/Core、@Cycle/DOM 的 Bower 包,这些库是否存在?我很困惑为什么首先有一个 NPM 包,因为 Cycle.js 是基于前端的(而 NPM 仅专门用于后端)。
ES5:是否可以将 Cycle.js 与 Gulp/Typescript/ES5 一起使用(而不是使用 Browserify/webpack)?
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?
cyclejs - Cycle.js HTTP 添加加载指示器后发送多个请求
我一直在尝试创建一些 cycle.js 示例作为嵌套对话,并使用选择框在它们之间切换。
其中一个对话是官方 Github HTTP 搜索示例的克隆。
另一个对话是更基本的对话,没有 HTTP,只有 DOM。
我觉得我在 2 之间切换,但我对 Rx 相当陌生,因此可能会不正确或幼稚地完成。
在我向搜索页面添加加载指示器之前,这一切似乎都运行良好。
为此,我转了这个:
进入这个:
我现在有 2 个问题
- 复选框的每次更改都会记录两次“复选框值设置为”和“路由已更改”消息。
- HTTP 请求日志只触发一次,但如果您在开发工具中观察网络活动,您会同时看到两个 GET 请求。
谢谢你的帮助!
编辑:解决了我自己的问题。请参阅下面的答案。
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
那将是惊人的。
cyclejs - 组件、隔离功能和“参考透明度”
我有一个(相当哲学的)问题涉及cyclejs
组件:isolate() 引用透明吗?.
查看此后复制的简化代码,我无法区分任何“杂质”来源。那是因为未简化的代码引入了它,还是因为该函数将返回具有两个不同引用的两个不同对象?
在那种情况下,这两个对象不会有相同的行为(即在相同的目标上侦听和响应相同的事件,并产生不同的 vTree$ 但封装完全相同的序列?)。如果是这样,这两个对象不是本质上相同吗,即在程序中的任何地方用另一个替换一个不应该改变任何东西?哪种方式isolate
是参照透明的?我哪里做错了?
实际上,如果两个调用都返回无法替换的不同对象,那么这些对象有何不同?
javascript - Cycle.js 如何通过在弹出窗口外部单击来关闭它
我正在使用 Cycle.js 框架,并创建了一个弹出/覆盖作为组件。
我已经隔离了弹出组件。我通常用作事件源的 sources.DOM 仅限于弹出 dom。
组件是否有 cycle.js-way 来检测其外部的点击?还是我应该只求助于将侦听器附加到文档?
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/
javascript - 似乎找不到有关测试 Cycle.js 应用程序的资源
我一直在尝试搜索有关测试 Cycle.js 应用程序的指南,但似乎找不到。有人可以指点我一个指南或提供一些例子吗?
javascript - Rx 计时器状态未在 Cycle.js 中更新
当有人单击我打算用作某些元素的不透明度的按钮时,我正在启动一个计时器。当我do
用来跟踪该值时,我可以看到它向控制台吐出 40 次,但在视图中数字保持不变。不知道我哪里错了:
更新:原来在超标中有一个小错误导致它出现奇怪的行为。我什至没有将它包含在我的示例中,因为我认为它不相关。
只需将上述更改为(添加类的指示)
让一切都神奇地工作。