是在HTML INPUT element 里用到的:
:on-change #(reset! username (-> % .-target .-value))
可以参考 ->
文档。
(-> % .-target .-value)
相当于 (.-value (.-target %))
。
(.-name o)
是 JavaScript 互操作 (JavaScript Interop) 的一种方式,用于得到 o
的 name
属性。可以参考 clojurescript.io 页面右下角的示例。
所以,(-> % .-target .-value)
就是取 参数 (%
是匿名函数的第一个参数) 的target
属性,然后取结果的 value
属性。相当于 JavaScript 中的 arg.target.value
(假设参数名是 arg
)。