Zau*_*bov 2 clojure clojurescript
任何人都可以帮助我理解,这段代码中发生了什么:
(defn- make-edit-mode-container [widget]
(let [input-container (template/node [:input.editable-edit-mode {:type "text"}])
ghandler (goog.events.KeyHandler. input-container)]
(set! (. input-container -gEditableHandler) ghandler)
;; ...
;; ...
input-container))
Run Code Online (Sandbox Code Playgroud)
据我所知,这里声明了一个私有函数,它接受一个widget参数.local-scope变量input-container是一个节点(实际上它是一个dommy.template节点),它是一个HTML <input type="text" class="editable-edit-mode">元素.
我无法理解的是(goog.events.KeyHandler. input-container)(例如,最后一点是做什么goog.events.Keyhandler).
因此,AFAIU (. input-container -gEditableHandler)是会员访问权限,但后来-gEditableHandler来自哪里,破折号意味着什么?
提前致谢.
(goog.events.KeyHandler. input-container) 正在调用KeyHandler作为构造函数,因此它等于这个js代码: new goog.events.KeyHandler(input-container);
(. input-container -gEditableHandler)被访问属性gEditableHandler的input-container,本-前gEditableHandler向编译器指示它是一个属性访问,而不是一个方法调用(如方法调用也有同样的语法即(. obj method))