1

(ClojureScript SPA の典型的な設計パターンに従って) グローバル アトムに保存されたデータセットがあり、データが安全であることを知っています (手動で入力しました。ページロード)。

ただし、引用符には などの基本的な HTML タグ<i>や などの文字が含まれてい&mdashます。私はsablonoを使用して、次のように HTML でデータをレンダリングしています。

(defcomponentk quote
  [[:data quotes]]
  (render [_]
      (let [quote (rand-nth quotes)]
        (html
         [:section
          [:blockquote {:id "quote"}
           [:header (om/build citation quote)]
           (map #(vector :p %) (:quote quote))]]))))

(:quote quote)は文字列のベクトルで、各文字列は引用の段落です (したがって、:pタグをその上にマップします)。

文字列を生のテキストではなく HTML としてレンダリングするように Sablono に指示するにはどうすればよいですか?

私が考えることができる唯一のことはsablono.core/html、各文字列をマッピングすることですが、それを機能させることはできません。

4

1 に答える 1

2

React はdangerouslySetInnerHTML、そのコンポーネントのオプションとして提供しています。Om で Sablono を使用している場合は、次のようなことができます。

(om.dom/div #js {:dangerouslySetInnerHTML #js {:__html "<b>Bold!</b>"}})

詳細はこちら:

https://groups.google.com/forum/#!topic/clojurescript/DXzHx3vkszo https://github.com/r0man/sablono/issues/36

于 2015-03-09T13:57:05.667 に答える