歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Clojure:解決Selmer與AngularJS的 標簽混淆問題

Clojure:解決Selmer與AngularJS的 標簽混淆問題

日期:2017/3/1 9:34:17   编辑:Linux編程

Selmer是Clojure的一個模板類庫,下面是它的一個DEMO模板:

<ul>
{% for item in items %}
<li>{{item}}</li>
{% endfor %}
</ul>

很明顯,它的{{}}的寫法很容易和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 \]}))

這樣,我們的模板文件就可以寫成這樣:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="[{context}]/css/screen.css" />
</head>
<body>
Home
</body>
</html>

Copyright © Linux教程網 All Rights Reserved