标签: clojurescript

你怎么从clojurescript引用javascript这个关键字?

我正在将一些ClojureScript代码与一个带有回调函数的JS库调用集成在一起.JS库使用JavsScript的"this"关键字将数据传递给回调.

我可以使用(js*"this")来使用它.例如:

(libraryCall (fn [] (.log console (js* "this"))))
Run Code Online (Sandbox Code Playgroud)

有没有办法从ClojureScript获取"this"上下文而不诉诸js*?

clojurescript

10
推荐指数
1
解决办法
1179
查看次数

clojure和clojurescript之间的区别?

任何人都可以列出Clojure和ClojureScript之间的一些区别吗?(请和谢谢)语法明智的区别?

clojure clojurescript

10
推荐指数
2
解决办法
3492
查看次数

core.async和10,000个动画过程 - 这种情况下的实际好处是什么?

正如我们所知道- core.async 采用 CSP,类似于够程去浪.现在对于像select和alt 这样的场景来说,这很有道理.

大卫·诺伦在这里了一个惊人的演示,在Clojure中展示了Clojure中的core.async.

然而,我可以通过简单的for循环复制类似的功能.你可以在这里看到一个演示.

function animationLoop() {
    for (var i =0;i<100;i++) {
        for (var j= 0; j<100;j++) {
            //decision to animate or hold off
            var decisionRange = randomInt(0,10);
            if (decisionRange < 1) {
                var cell = document.getElementById('cell-' + i + j);
                cell.innerHTML = randomInt(0,9);
                cell.setAttribute('class','group' + randomInt(0,5));
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是在'10,000进程动画场景'中core.async的实际好处什么?

clojure goroutine clojurescript core.async

10
推荐指数
1
解决办法
794
查看次数

服务器将数据从Clojure推送到ClojureScript

我正在Clojure中编写一个应用服务器,它将在客户端上使用ClojureScript.

我想找到一种有效的,惯用的方式将数据从服务器推送到客户端作为实时事件,理想情况下使用以下组合:

  • HTTP的试剂盒
  • core.async

(但我对其他可能性持开放态度)

有人能提供一个很好的例子/方法吗?

web-services clojure push-notification clojurescript core.async

10
推荐指数
3
解决办法
2973
查看次数

Ajax GET with Reagent

我正在从我的Reagent应用程序执行Ajax GET,从数据库加载一些东西.

我不完全确定将这样的ajax调用的结果发送到我的页面的最佳方法是什么,考虑到如果我把它放在一个原子中,那么当原子被解除引用时,Reagent会自动重新渲染一个组件,这意味着我得到了无限的ajax调用序列.

对于一些代码,

(def matches (atom nil))

(defn render-matches [ms]
  (reset! matches (into [:ul] (map (fn [m] ^{:key m}[:li m])
                                   (walk/keywordize-keys (t/read (t/reader :json) ms)))))
Run Code Online (Sandbox Code Playgroud)

这个功能基本上创建一个 [:ul [:li "Stuff here"] [:li "And here"]]

我想在我的页面上显示,现在有以下代码.

(defn standings-page []
  (GET "/list-matches"
       {:handler render-matches})
  @matches)
Run Code Online (Sandbox Code Playgroud)

ajax clojurescript reagent

10
推荐指数
1
解决办法
3475
查看次数

在Clojure中with-redefs和with-redefs-fn有什么区别?

我想了解with-redefs和之间的区别with-redefs-fn.

具体的例子可以很好地理解fns行为.

clojure mocking clojurescript

10
推荐指数
2
解决办法
1681
查看次数

在生产中获取Clojurescript repl/connect以不编译?

在我的clojurescript代码中,我有以下内容:

(defn onload [] (repl/connect "http://localhost:9000/repl"))

(set! (.-onload js/window) onload)
Run Code Online (Sandbox Code Playgroud)

Clojurescript repl在开发中非常有用,但我在制作过程中将它留在代码中犹豫不决.在开发(简单编译)期间使用上述代码的最简洁方法是什么,但在生产(高级编译)期间不存在?

clojure clojurescript

9
推荐指数
2
解决办法
574
查看次数

ClojureScript clojure.set?

如何在ClojureScript中使用clojure.set?

我总是得到一个错误.

(def middle-land (set (for [x water-hor
                            y (vec (clojure.set/difference (set (range 0 board-side))
                                                           (set water-ver)))]
                    [x y])))

ReferenceError: clojure is not defined
Run Code Online (Sandbox Code Playgroud)

clojure clojurescript

9
推荐指数
1
解决办法
1103
查看次数

Clojure/ClojureScript Crossovers和cljx

我试图弄清楚ClojureScript交叉和cljx预处理器之间的关系.

它们是否可以一起使用?或竞争对手解决同样的问题?

一个人成为首选或更标准的做事方式吗?

特别是我想要做的是创建一个可以编译为Clojure和ClojureScript的单个库(有几个变体).我目前正在使用cljx.

但后来我想将库包含在更多的clj和cljx项目中.寻找有关这方面的信息,我很多时候会遇到交叉的文档而不是cljx.

clojure leiningen clojurescript cljx

9
推荐指数
1
解决办法
593
查看次数

ClojureScript - 将任意JavaScript对象转换为Clojure Script映射

我试图将Javascript对象转换为Clojure.但是,我收到以下错误:

 (js/console.log (js->clj e)) ;; has no effect
 (pprint (js->clj e)) ;; No protocol method IWriter.-write defined for type object: [object Geoposition]
Run Code Online (Sandbox Code Playgroud)

是的,这个对象来自Geolocation API.我想,我必须扩展IEncodeClojureIWriter,但我不知道怎么样.

例如,添加以下内容:

(extend-protocol IEncodeClojure
  Coordinates
  (-js->clj [x options]
    (println "HERE " x options)))
Run Code Online (Sandbox Code Playgroud)

加载我的代码时产生错误: Uncaught TypeError: Cannot read property 'prototype' of undefined

clojure clojurescript

9
推荐指数
2
解决办法
3906
查看次数