Clojure:解决Selmer与AngularJS的 标签混淆问题

2015-02-02 14:11:12 · 作者: · 浏览: 23

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