Twitter bootstrap 如何将引导工具提示附加到Clojurescript试剂组件

Twitter bootstrap 如何将引导工具提示附加到Clojurescript试剂组件,twitter-bootstrap,clojurescript,reagent,Twitter Bootstrap,Clojurescript,Reagent,这是我在表的每一行末尾渲染的组件。工具提示部分不起作用 在渲染每个组件后,如何将引导工具提示附加到该组件 (defn edit-button-component [] (fn [attrs] ^{:component-did-mount #(.tooltip ($ %) (clj->js {:title "Test"}))} [:button.btn.btn-default attrs [:span.glyphicon.glyphic

这是我在表的每一行末尾渲染的组件。工具提示部分不起作用

在渲染每个组件后,如何将引导工具提示附加到该组件

(defn edit-button-component []
    (fn [attrs]
        ^{:component-did-mount #(.tooltip ($ %) (clj->js {:title "Test"}))}
        [:button.btn.btn-default attrs
        [:span.glyphicon.glyphicon-pencil]]))

符号
$
来自何处?如果它来自
jayq
library,那么就可以了。如果它是纯javascript jQuery,那么您需要使用
js/$

:component did mount
关联的匿名函数的参数
%
通常被命名为
this
,它是一个React组件,而不是DOM对象。要获得提供给jQuery
$
选择器的等效DOM节点,请使用
试剂.core/DOM节点
。比如:

($ (reagent.core/dom-node %))

顺便说一句,
(clj->js{:title“Test”})
可以更好地写成
#js{:title“Test”}
除了关于访问
js/$
和DOM节点的@myguidingstar解释之外,元数据似乎不在正确的位置。它需要在函数上,而不是向量上

下面是一个适合我的实现:

(def tooltip
  ^{:component-did-mount #(.tooltip (js/$ (reagent.core/dom-node %)))}
  (fn [message]
    [:img.help {:src "img/help.png", :data-placement "bottom", :title message}]))

还要确保jquery在html文件中的app.js之前加载。

控制台中有错误吗?您是否尝试在功能中使用prn以确保组件安装了fire?