问题标签 [hiccup]

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 回答
70 浏览

angularjs - Clojure:单击使用 Hiccup 创建的按钮时,如何获取文本字段的值?

在我的 Clojure 程序(使用 Hiccup)中,我希望在用户单击按钮时获取文本字段的值,然后将该日期附加到 URL。我尝试使用 AngularJS 中的“ng-model”,但这会导致以下错误:

我目前使用的代码如下:

0 投票
1 回答
177 浏览

clojure - 如何在 Clojure 中访问表单的各个字段?

我正在构建我的第一个 Web 应用程序,当用户使用表单时,我很难访问表单的各个字段submit。这是我所拥有的:

;; 当我运行上面的代码时,我可以看到通过 提交的整个表单,(str request)看起来像是一个 Clojure 映射。但我不知道如何提取单个“key/vals”(从那个地址表单中,我想提取城市),或者如何以我可以使用的方式存储这些结果。有任何想法吗?

这是一个超级基本的/city页面,我试图在构建更大的东西之前运行它以了解事物是如何工作的。谢谢!

0 投票
1 回答
1268 浏览

javascript - 如何使用 Reagent Hiccup 添加点击事件以触发 ClojureScript 中的 JavaScript 事件

我刚开始使用 Reagent,对 Clojure 还是很陌生。

我创建了一个移动菜单功能,并希望移动汉堡菜单可以点击以显示实际菜单。再次单击时,菜单必须隐藏。我不知道该怎么做

锚点需要展开和隐藏菜单。

我所需要的只是一个关于如何对 JavaScript 事件进行 JavaScript 调用的示例,以及对理解它的一点帮助。

我在网上找到了这个片段https://www.reddit.com/r/Clojure/comments/4ofct5/calling_methods_on_an_element_in_a_reagent/但我不确定它是如何连接到任何东西的。元素如何.play知道该做什么on-click

0 投票
1 回答
105 浏览

solr - 如何在 Solr 中使用 jHiccup?

我尝试使用 Solr 和 Jhiccup 来分析 Azul zing JVM 的垃圾收集器和 Java-Hotspot 的 G1GC。我启动了 solr,并希望在其中包含 jHiccup。solr 进程是 1078。我使用了以下命令:./jHiccup -l /tmp/jHiccup-2.0.9/hiccup.%date.%pid -p 1078。它应该可以工作,但显示错误:A JNI 错误已发生,请检查您的安装并重试。请帮帮我!

0 投票
1 回答
100 浏览

tomcat - 如何在tomcat上托管我的打嗝clojure项目?

我有一个 clojure 项目,我在其中使用了 hiccup 库。我想问一下它的工作方式是否与普通的 clojure 和 jsp 项目类似?当我将它托管在 tomcat 服务器上并尝试在 web 上运行它时,出现找不到文件的错误。

这是我的 project.clj 文件

这是我的处理程序命名空间

我正在制作war文件并将其粘贴到webapps文件夹中,然后运行tomcat服务器。

这是随之而来的错误。

0 投票
1 回答
68 浏览

intellij-idea - 为什么 compojure-app 和 hiccup 不能导入函数 hiccup.form/form-to?

我使用“lein new compojure-app”创建一个 web 项目,在 project.clj 中已经导入了 hiccup:

我可以看到jar文件

我将 intellij 用于 ide,在 home.clj 中:

但是当写:

intellij 告诉我form-to can't be resolved,如果我使用这个:

然后写

intellij 告诉我我可以使用函数:group、input-filed、make-id、make-name、with-group,但没有 form-to,但是 form-to 是包 hiccup.form 中的一个函数

我该如何解决?

0 投票
1 回答
178 浏览

node.js - NodeJS 上的 Clojurescript Hickory(将 HTML 解析为打嗝)

我需要一种方法来解析 HTML 标记以在用 Clojurescript 编写的 node.js 应用程序上打嗝。在客户端,我使用山核桃来完成这项工作,不幸的是它在 Node.js 上表现不佳。如果任何命名空间需要hickory.core节点拒绝运行应用程序说

如果我在节点已经运行时使用 figwheel 热加载库,CIDER 会给我各种山核桃函数的代码完成,但hickory.core/parse-fragment在运行时未定义(hickory.core/as-hiccup由于某种原因可用)。

这实际上是山核桃的一个已知问题,因为它依赖于浏览器 DOM API,而这在 Node.js 中不可用。我按照GitHub 上(set! js/DOMParser (.-DOMParser (js/require "xmldom")))的建议进行了尝试,但我实际上不知道在哪里放置该表达式。一般来说,GitHub 上的讨论让我毫无头绪……</p>

有没有人喜欢在 Node.js 上工作?关于如何让我的应用程序将 HTML 转换为打嗝的任何其他建议?

提前谢谢了!

奥利弗

0 投票
1 回答
91 浏览

dom - 如何检查 DOM .contains?在clojurescript中?

在 JS 中document.some_element.contains(other_element),需要查找一个元素是否包含在另一个元素中。

如何在 Clojurescript/Hiccup/Reagent 框架中执行此操作?

我努力了:

0 投票
1 回答
172 浏览

windows - SC_MONITORPOWER 启动后台任务

概括

在 Windows 10 中将显示器置于睡眠模式时,Windows 似乎执行了一些在屏幕打开时无法执行的任务。这干扰了我们的软件,我们需要摆脱它。

完整的故事

对于带有触摸屏的硬件设备,出于耐用性原因,我需要能够在不使用触摸屏时将其关闭。Windows 有一条消息,您可以发送以将其关闭,SC_MONITORPOWER。进一步来说: SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2);

这很好用,但是当屏幕关闭时,Windows 显然有时会执行一些在屏幕打开时不会执行的任务。在这种情况下,我们小心不要在屏幕上写任何东西(当屏幕关闭时会导致巨大的问题,事实上,当屏幕关闭时,在 DOS 框中只有一个闪烁的光标会占用半个内核)。

我们的软件要求每 0.25 毫秒执行一次回调。我们已经关闭了 Windows 中的几乎所有任务、服务和其他一些东西,并且在屏幕打开的情况下,我可以运行我们的软件数天而不会错过任何回调。但是关闭屏幕我会打嗝。回调已经以可能的​​最高优先级运行。

因此,当我们关闭所有服务和任务时,显然我们错过了一些东西。打嗝似乎有2个原因:

  • 每10-30小时左右发生一次(不确定确切时间,似乎有所不同)。但它总是发生 5 次,其间正好有 5 分钟(最多几毫秒)(因此在 25 分钟内总共发生 5 次)。
  • 除此之外,我们通常每 4-10 小时就会打嗝一次,但发生之间的时间似乎不是很恒定,因此也可能有多种原因。

我这里有点不知所措,运行分析软件很容易干扰我们自己的软件,很难检测到这些打嗝是什么时候真正发生的,什么时候是由运行分析软件引起的。

有趣的是,在 Adob​​e Audition 中录制音频时,我也在完全不同的系统(不同的硬件、不同的操作系统版本)上看到了这种每 5 分钟 5 次的情况。在这种情况下,Audition 每隔 5 分钟就会丢失一段音频,而且我认为只有当显示器处于睡眠模式并且您没有远程登录时才会发生这种情况。

我们已经尝试使用 Nircmd 等直接监视器命令关闭触摸屏,但它不支持这些命令。我的猜测是 SC_MONITORPOWER 消息在 Windows 中触发了更多的东西,如果我们可以关闭它们,那将解决我们的问题。有任何想法吗?

系统 Intel i5-8700 6 核,Windows LTSB,除了我们自己的软件,没有安装额外的软件。

0 投票
1 回答
86 浏览

loops - 在 Clojure doseq 函数中间暂停?

我的程序允许用户选择要导入数据库的文件。在此之前,它一次只允许他们导入一个文件。让他们一次导入多个文件很容易。但我遇到的问题是,如果数据库已经包含一个具有相同标题的页面,我想在使用正在导入的版本覆盖数据库中的版本之前显示警告并获得确认。

这是我到目前为止所拥有的。它在很大程度上遵循了我导入单个文件的做法。

此函数导入数据库中尚不存在的任何文件,但不会导入任何会覆盖具有相同标题的现有数据库条目的任何文件。它也从不显示要求确认的警告页面。

警告页面的构造如下:

程序如何在doseq(或其他循环函数)中间暂停以显示确认页面并等待用户做出选择?