我在 cljs 文件中有以下代码:
(def template
"<script type=\"text/javascript\">
console.log(\"The script was run\");
</script>")
(defn add-script []
(let [s (js/document.createElement "div")]
(set! (.-innerHTML s) template)
(js/document.head.appendChild (.-firstChild s))))
(很明显,真正的脚本模板的内容与此不同,但这说明了问题)
当我在 add-script 运行后查看文档时,果然,脚本模板已经插入到代码中。问题是代码实际上并没有被执行。如果这只是 js,我会简单地评估模板。但是,Clojurescript 没有 eval,所以我想我会尝试使用脚本标签动态添加 javascript 模板的内容。
我怎样才能让它工作,具体来说,我怎样才能让我的脚本模板的这些内容在我动态插入后进行评估?