Selmer是Clojure的一个模板类库,下面是它的一个DEMO模板:
{% for item in items %}
? ? - {{item}}
{% endfor %}
很明显,它的{{}}的写法很容易和AngularJS混淆起来。为了解决这个问题,我们可以在它的生成模板语句中更改它的tag,通过自定义:tag-open和:tag-close即可。示例代码如下:
(ns fycoins.views.layout
? (:require [selmer.parser :as parser]
? ? ? ? ? ? ))
(def template-folder "fycoins/views/templates/")
(defn render [template & [params]]
? (parser/render-file (str template-folder template)
? ? ? ? ? ? ? ? ? ? ? params
? ? ? ? ? ? ? ? ? ? ? {:tag-open \[
? ? ? ? ? ? ? ? ? ? ? :tag-close \]}))
这样,我们的模板文件就可以写成这样:
? ?
? ?
? ?
Home