我将sammy用于需要呈现内嵌在页面中的模板的Web应用程序。我使用脚本标记来包含标记,这是haml。
是否有一种好的,惯用的方式来呈现未通过ajax请求加载的模板?我有一个解决方案,但我不满意。 $('#start_haml')是包含标记的脚本元素,$('#sammy_main')是要呈现的容器。
app.get '#/', (context) ->
context.load($('#start_haml')).then((data) ->
context.interpolate(data, {helpers: view_helpers})
).replace('#sammy_main')
答案 0 :(得分:3)
感谢Aaron Quint answering me on the Sammy.js mailing list
答案很简单,但值得留在这里,因为文档中没有提及。
context.render($('#start_haml'), {helpers: view_helpers})
.replace '#sammy_main'
NB。 render()的第二个参数是视图数据。
答案 1 :(得分:0)
对我来说,这有效:
this.use('Template', "[object HTMLScriptElement]"); // If not view data are not rendered
[...]
var template = $('#tmpInmuebleDetalle')[0];
this.partial(template);