使用Sammy.js渲染本地模板

时间:2011-07-10 21:49:10

标签: sammy.js

我将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')

2 个答案:

答案 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);