Search code examples
angularjsclojurehiccup

How to display {} in hiccup?


I am working on an angular app, where I need to display some angular expression in this form:

{{"Hello," name}}

In Hiccup, {} have a special meaning, and is used for attributes, how to use it for angular syntax ?


Solution

  • From the point of view of Hiccup, this will be one of the literal parts of the output, passed as a string:

    (hiccup.core/html [:p "{{\"Hello,\" name}}"])
    ;= "<p>{{\"Hello,\" name}}</p>"
    
    (hiccup.core/html [:p {:class "{{foo}}"}])
    ;= "<p class=\"{{foo}}\" />"
    

    So, there is no clash, because the {} of Clojure syntax and the {} of Angular's default interpolation markers occur on different "levels" in the source (Angular's markers being written inside strings).