我正在阅读Clojure编程书.我是关于偏爱的一个例子,它是这样的:
(def only-strings (partial filter string?))
Run Code Online (Sandbox Code Playgroud)
问题是,如果我写下一个函数:
(defn only-strings [x] (filter string? x))
Run Code Online (Sandbox Code Playgroud)
我可以得到相同的结果:
user=> (only-strings [6 3 "hola" 45 54])
("hola")
Run Code Online (Sandbox Code Playgroud)
在这里使用部分有什么好处?或者这个例子只是为了简单地展示它们?有人可以给我一个例子,其中partial可能有用.非常感谢.
这就是我所拥有的:
(defn view [cursor owner]
(reify
om/IDidMount
(did-mount [_]
(-> (js/$ ".dropdown-toggle")
(.dropdown)))
om/IRender
(render [_]
(dom/div #js {:className "dropdown"}
(dom/button #js {:className "btn btn-default dropdown-toggle"
:type "button"
:id "dropdownMenu1"} "Dropdown" (dom/span #js {:className "caret"}))
(dom/ul #js {:className "dropdown-menu"
:role "menu"
:ariaLabelledby "dropdownMenu1"}
(dom/li #js {:role "presentation"}
(dom/a #js {:role "menuitem"
:tabIndex "-1"
:href "#"} "Action"))
(dom/li #js {:role "presentation"}
(dom/a #js {:role "menuitem"
:tabIndex "-1"
:href "#"} "Another action")))))))
Run Code Online (Sandbox Code Playgroud)
问题是,一旦打开下拉列表,它就不再隐藏了,因为当它点击它或其他地方时应该是这样.击键也不起作用.我相信这里缺少一些重要的东西,它会是什么?我正在使用bootstrap 3.1.1和jquery 1.11.0.
谢谢.
我知道您可以通过将map作为:init-state关键字的值传递来启动组件的状态.但是,通过将此映射作为:state关键字的值传递,例如,在组件及其子组件之间,现在它们可以共享同一个状态吗?是吗?谢谢.
我在Tutjurescript 101中注意到你可以使用闭包类:
(ns async-tut1.core
(:import [goog.net XhrIo]))
Run Code Online (Sandbox Code Playgroud)
但有一条说明:
注意:import仅适用于此用例,您从不将它与ClojureScript库一起使用
它到底意味着什么?据我了解,你不应该这样导入类.我对么?如果我是,你会怎么做呢?非常感谢.
设想:
(def my-var 'my-symbol) ;; Please note that it must be 'my-symbol not `my-symbol
my-var ;; => my-symbol
Run Code Online (Sandbox Code Playgroud)
但我想要
;; => fully-qualified/my-symbol
Run Code Online (Sandbox Code Playgroud)
除了将值转换为字符串之外,是否可以完全限定my-var的值?谢谢.