问题标签 [reflex]
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.
ruby-on-rails - 自定义刺激反射类
我正在 Rails 6 中进行一个实验项目。这个项目的目的对我来说是学习新的方法和使用新的(“ish”)技术。
简而言之,我正在使用Trailblazer基础设施、stimulus_reflex和view_component以及view_component_reflex。
据我所知,StimulusReflex
&ViewComponentReflex
期望反射类驻留在reflexes
文件夹/命名空间中。
我想要达到的目标:
ViewComponentReflex
将我的组件嵌套在Trailblazer
概念文件夹(命名空间)中。
我试过的:
创建了以下文件夹结构:
concepts/post/component/counter.rb
concepts/post/component/counter/counter.html.erb
预期结果:
我希望 Rails 允许命名空间等。设置上述内容并运行示例应用程序时,出现错误:uninitialized constant Component::CounterReflex
. 这个类的依赖是内置在其中一个宝石中的,但我不知道在哪里可以找到它。我尝试过覆盖一些方法ViewComponentReflex
无济于事。
当我将我Component::Counter
的移动到components
文件夹(如本例中所示)时,代码有效。
有没有办法使用这个堆栈重新定义/配置反射类的路由(模块)?
更新:
我的应用程序的 GitHub 存储库可以在这里找到
我在点击计数器按钮时看到的确切错误消息是:
ghcjs - 如何在 Reflex 中获取全局 keydown 事件?
我目前尝试获取全局按键事件(例如:用户从 UI 中的任何位置点击键盘快捷键以触发模式对话框的打开)是:
但是,这无法进行类型检查
查看源代码,只有Element EventResult d t
一个实例,但没有Window
or Document
。
在 reflex / ghcjs 中实现我在这里想要做的事情的惯用方式是什么?
haskell - Haskell GHCJS with Diagrams 给出错误:没有为此平台提供 C 编译器
我正在尝试使用 Reflex 和 Diagrams 构建 POC。我将 WSL2 与 Ubuntu-20.04 一起使用。我使用了Reflex-stone模板,它构建得很好。然后我将 diagrams-lib 添加到依赖项列表中,并收到此错误。
我得到了一些帮助,有人建议这可能是一个需要 c 的测试。所以我将此添加到我的 project.nix
但没有任何效果。存在一个 Diagrams-Reflex repo,但我也无法构建它。不过,我对 Nix 很陌生。
haskell - 使用 Reflex.GI.Gtk,如何在事件中使用和强制评估动态
使用 reflex-gi-gtk-0.2.0.0 时,我可以从事件中访问动态:
但是为了进行评估,我需要将它绑定到一个标签:
sink submitClickStatusLabel [#label :== ffor submitButtonE4 (T.pack . show)]
它不像Dynamic (SpiderTimeline x) (IO (Maybe Company))
.
因此,我必须去获取动态绑定到的信息:
现在我可以下沉它并引起评估。
sink submitClickStatusLabel [#label :== ffor submitButtonE (T.pack . show)]
使用第一种方法时,我找不到任何强制评估的方法。如何在不陷入另一个小部件的情况下强制评估?
谢谢
haskell - 如何在反射中将输入值设置为当天?
我正在reflex-platform
使用obelisk
. 这是我获取当前日期的前端代码
我可以通过放置来确认这是否有效
它甚至不会在一瞬间显示“正在加载”,而是在浏览器(谷歌浏览器)中显示“2021-03-26”。
但是,尝试将today
事件放入 an<input>
是行不通的。这是代码:
<input>
保持空白。
更奇怪的是:在我的实际代码中,<input>
通过的初始值inputElementConfig_initialValue .~ "BAAAR"
也没有显示。然而,创建的动态文本就像
确实显示“BAAAR”一瞬间。
为了平息任何偏执,我inputElementConfig_setValue
用一个简单的按钮进行了测试,效果很好。<input>
即我可以通过单击一个按钮来设置的值。
所以postBuildTime
事件的作品和inputElementConfig_setValue
作品,但两者的结合留下了<input>
空白。
编辑
最小示例,包括有关如何运行的说明和结果的屏幕截图:
haskell - 如何安装 ghcjs 8.8 或 8.10?
我想用 reflex-dom 生成一个 HTML / JS 页面(仅客户端,前端)。但是,我使用了单例包(2.6),它似乎无法使用 ghcjs 或 ghc 8.6.5 进行编译(单例 2.5.1,已损坏未修补)。因此,反射平台解决方案、反射石或同等产品对我没有帮助。
我看到可以通过 haskell.nix安装 ghcjs 8.8 或 8.10 ,但我没有找到如何安装。
我该怎么做?或者,有没有办法将 GHCJS(或反射平台解决方案)与最近的包(需要 ghc 8.8 或 +)一起使用?有没有办法将 ghcjs-8.8 或 8.10 与 reflex-platform 一起使用?
haskell - 如何获得在`document`的`visibilitychange`上触发的反射事件?
Reflex.DOM
不visibilitychange
公开document
. 它不能,因为据我了解 reflex 不会暴露document
,这是低级 DOM 交互的一部分,JSDOM
因此也是低级 DOM 交互的一部分。
无论如何,我将不得不依赖这样的东西:
visibilitychange
暴露在GHCJS.DOM.Document
https://hackage.haskell.org/package/ghcjs-dom-0.9.4.0/docs/GHCJS-DOM-Document.html
使用 type visibilitychange :: EventName Document Event
,但在 JSDOM 命名空间中。
编辑:为什么我需要 visibilitychange 事件?每次可见性更改触发并更改为“隐藏”时,我都希望将我的应用程序的状态保留在本地存储中。
nix - 为什么尝试反射需要这么长时间?
我正在尝试try-reflex
按照此处的说明运行脚本:https ://github.com/reflex-frp/reflex-platform
自述文件警告说这可能需要几分钟,但对我来说需要几个小时。当脚本问我是否要启用 nix 缓存时,我说是的,它从缓存中下载了东西,但现在它似乎无论如何都要重新编译所有东西。
我试图更改一些不推荐使用的值,nix.conf
但它似乎没有改变。
我的当前nix.conf
:
为什么不使用二进制缓存?