相当于 clojurescript 中的 $(document).ready(function(){})?

equivalent of $(document).ready(function(){}) in clojurescript?

如何在 clojurescript 中实现 $(document).ready(function(){})。 我试过这个:

 (. ready js/document ());;but i am trying to achieve the callback function

但我觉得不对。有什么想法吗?

clojurescript 的新手,所以我对如何执行此操作有点困惑。

这应该有效:

(.addEventListener
  js/window
  "DOMContentLoaded"
  (fn [] (.log js/console "DOMContentLoaded callback")))

对于简单的 clojurescript 入口点,您可以在例如核心命名空间:

(ns app.core)

(defn main []
  (activate-app))

然后调用模块末尾的入口点:

(main)

想法是在所有代码加载后调用入口点主函数。因此,具有入口点调用的模块本身不应被任何其他模块所需要。

一个变体设置了一个 入口点,在加载编译的 clojurescript 后从 javascript 显式调用:

(defn ^:export main []
  (activate-app))

(set! js/cljs-entry-point main)

现在可以从相关 html 文档正文底部的脚本元素调用此入口点:

<script>cljs_entry_point()</script>

后一种方法的好处是其他模块仍然需要包含入口点的模块。

考虑调用许多其他函数的函数 main。

(defn main []
  (app-instruction-1)
  (app-instruction-2))

(set! (.-onload js/window) main)