我刚开始使用 Reagent,对 Clojure 还是很陌生。
我创建了一个移动菜单功能,并希望移动汉堡菜单可以点击以显示实际菜单。再次单击时,菜单必须隐藏。我不知道该怎么做
(defn mobile-menu [primary-menu secondary-menu logo-el]
[:div#ca-horizontal-mobile
[:div#logo logo-el]
[:div#menu-button
[:a
[:i.icon.bars]]]
[:header#menu.mobile
[:div
[:div.center.menu
(let [menu (concat primary-menu secondary-menu)]
(for [i menu]
[:div.item {:key (:key i)}
[:a.item {:id (:key i)
:href (:target i)} (:name i)]]))
[:div.item
[:a
{:style {:cursor :pointer}
:id :logout
:on-click #(re-frame/dispatch [:logout])} (str "Logout")]]]]]])])
锚点需要展开和隐藏菜单。
[:a
[:i.icon.bars]]]
我所需要的只是一个关于如何对 JavaScript 事件进行 JavaScript 调用的示例,以及对理解它的一点帮助。
我在网上找到了这个片段https://www.reddit.com/r/Clojure/comments/4ofct5/calling_methods_on_an_element_in_a_reagent/但我不确定它是如何连接到任何东西的。元素如何.play
知道该做什么on-click
?
(defn video-elem [src-url uid]
[:div
[:video {:src src-url :id uid}]
[:button {:on-click #(.play (.getElementById js/document uid))} "Play!"]
[:button {:on-click #(.pause (.getElementById js/document uid))} "Pause!"]])