我有一个保存在全局原子中的数据集(按照ClojureScript SPA中的典型设计模式),而且我知道数据是安全的(我手动输入了它--它只是一个引号列表,我在每个页面上随机呈现一个引号)。
但是,引号包含基本的HTML标记(如<i> )和字符(如&mdash )。我使用萨布洛诺在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标记映射到它之上)。
如何告诉Sablono将字符串呈现为HTML而不是原始文本?
我唯一能想到的就是在每个字符串上映射sablono.core/html,但我无法做到这一点。
发布于 2015-03-09 13:57:05
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
https://stackoverflow.com/questions/28932464
复制相似问题