Question

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 ?

Was it helpful?

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).

OTHER TIPS

Do not know hiccup, but in Angular with $interpolateProvider you can change startSymbol (normally {{) and endSymbol (normally }}) to whatever you want.

You can use the $interpolateProvider in your config to change the default angular's templating symbols.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top