问题标签 [om]
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.
clojurescript - 应该在我的 project.clj 中添加什么来使用 Clojurescript 运行 Om?
我查看了Github Om 页面,但不清楚我应该使用哪个版本?
clojurescript - 重放 Om 网络会话(Clojurescript)?
我想从 Clojurescript 创建一个 Om 会话,它可以在另一台机器上回复整个 GUI。如何将原子从客户端传递到服务器,以便只发送更改,以便可以在其他地方重播更改历史?
更新
我已经在网上放了一个演示。去:
连接网站
然后单击网页底部的“以前的会话”。代码在这里:
recursion - 递归组件在 Om 中工作时遇到问题?
我有以下内容:
上面的代码确实成功编译,但我没有看到任何递归。相反,当我使用浏览器进行检查时,我看到了以下内容。
我认为 32374988 可能是一个对象哈希,不确定 0 是关于什么的。无论如何,我的意图是看到所有 4 条评论都显示出来,其中一些评论嵌套在其他评论中。目前我只得到根评论,加上一些奇怪0 32374988
的递归构建的评论应该在哪里。任何帮助表示赞赏。谢谢你。
clojurescript - Clojurescript Om 中的应用程序状态和组件本地状态有什么区别?
我已经阅读了 David Nolen 的基本 Om 教程,但我仍然对应用程序状态和组件本地状态之间的区别感到有些困惑。当提到游标时,它是指其中一个还是两个?
clojurescript - 如何检查 om 对象?
我一直在关注 om 教程。我使用 Light Table 设置外部浏览器连接。此外,在我的 clojurescript 代码中,我调用(enable-console-print!)
它以将我的 println 语句发送到浏览器控制台。
问题是当我打印一个 om 组件时..类似于:
(println (om/build my-component-function my-data))
我得到的输出是:
#<[object Object]>
如果我只是(om/build my-component-function my-data)
在 LightTable 中进行评估,我也会遇到同样的问题。
能够检查此对象将有助于调试。我怎样才能打印出更有意义的东西?
clojure - 如何使用 ClojureScript 和 Om 根据用户输入过滤列表?
我刚开始使用 Om(一个基于 reactjs 的 ClojureScript 库)。我想根据用户输入过滤列表。以下工作,但解决方案似乎很复杂。有更好的吗?
animation - 使用 Clojurescript Om 创建动画
我一直在寻找如何在 Om 中创建动画,我尝试创建一个 RaphaelJs 组件并取得了一定的成功。我得到了我想要的动画,但由于某种原因,Om 渲染了 SVG 元素的多个实例。
查看Om github 文件夹中的动画示例,用于setInterval
更改您想要动画的值,这不太理想。
我知道 CSSTransitionGroup 插件,但看起来你只能在 CSS 中定义的预设动画之间切换,你不能决定做一些事情,比如渲染路径并在随机时间后跟随它的形状。如果您可以使用它动态定义动画,请随时纠正我。
有没有人有任何执行简单动画的好例子?只需平移或旋转简单的形状,我就会知道如何从那里开始处理它。
clojurescript - 如何在 Emacs nrepl 中调用 om.dom/render-to-str?
我想显示以下对象的 html 输出:
om.dom 中有一个 render-to-str 方法。但是如果我输入
在 ClojureScript repl 中,我得到的只是零。调用 om.dom/render-to-str 会给出对应的错误消息。
奇怪的是:repl 中的代码完成给了我 render-to-str 调用。
好的,解决了 om.dom/render-to-str 返回 nil 的问题。问题是我没有连接到真正的浏览器 repl 而是无头 repl。因此没有加载 index.html,因此没有加载 react.js。
但现在打电话
返回
经过更多测试后,我认为我必须像这样更改调用:
所以最后一个问题是:如何创建游标。
clojurescript - 如何在 Om Clojurescript 中合并两个#js 映射?
在 clojurescript 中,当我合并两个地图时,我可以这样做:
如何在使用文字的 Om 中实现类似的事情,像这样(不起作用):
clojure - 从多个渠道异步更新列表中的项目
这是我正在尝试做的事情:
我正在做一个显示事件列表的应用程序,当我创建事件时,该事件是一个 core.async 通道,我想要做的是,假设首先添加了通道,它应该读取并且它们呈现该状态(可以做什么),但是稍后,此通道仍必须侦听新值,当这些值到来时,它必须更新当前呈现的值。
退一步说得更清楚,在更随意的情况下,您可以简单地获取当前元素的索引并更新它的数据,但是由于我的更新事件可能在它们首次创建后很长时间发生,因此更改它的索引已更改(因为一些其他元素可能会在这个时候被删除)。
我在这里看到的唯一解决方案是在第一次添加频道时为其创建一些随机 ID,在更新时我会查找它的 ID 并更新它,但我认为解决方案非常理想,因为这样我需要对事件列表进行全面扫描以获取任何更新...
我缺少更好的方法来做这件事吗?