使用 Hogan / Mustache 的持久模板(或重复使用模板)?
Persistent templates (or re-using templates) with Hogan / Mustache?
不完全确定 "persistent templates" 是否是我所追求的,这是我第一次使用 Javascript 模板引擎。我很好奇是否有一种方法可以保持模板数据完好无损,以便在呈现文档后重新呈现文档...
一个例子——我定义了一个简单的模板片段:
<div id="price">Price: {{current_price}}</div>
我渲染它:
var template = Hogan.compile($("#price").html())
$("#price").html(template.render(price_data))
假设我想每 X 秒更新一次价格信息(触发请求,抓取 JSON 并将其推回 #price
),重新呈现模板失败,因为没有{{current_price}}
没有了。在成功请求后,我可以按照 $('#price').text('Price: ' + price_data)
的方式做一些事情,但我觉得这在某种程度上使使用模板背后的想法变得无用。
所以问题是,在文档上重复使用模板的方法是什么?将模板数据缓存到变量中并在渲染时重新使用它还是有更聪明的方法?
谢谢。
你不应该使用一个东西作为它自己的模板,你会 运行 遇到各种各样的问题(特别是一旦你开始向属性添加小胡子标签,或者有条件地显示 html标签,或类似的东西)。
使您的模板成为页面上自己的元素。帮自己一个忙,为它使用 <script type="text/x-mustache">
标签。
不完全确定 "persistent templates" 是否是我所追求的,这是我第一次使用 Javascript 模板引擎。我很好奇是否有一种方法可以保持模板数据完好无损,以便在呈现文档后重新呈现文档...
一个例子——我定义了一个简单的模板片段:
<div id="price">Price: {{current_price}}</div>
我渲染它:
var template = Hogan.compile($("#price").html())
$("#price").html(template.render(price_data))
假设我想每 X 秒更新一次价格信息(触发请求,抓取 JSON 并将其推回 #price
),重新呈现模板失败,因为没有{{current_price}}
没有了。在成功请求后,我可以按照 $('#price').text('Price: ' + price_data)
的方式做一些事情,但我觉得这在某种程度上使使用模板背后的想法变得无用。
所以问题是,在文档上重复使用模板的方法是什么?将模板数据缓存到变量中并在渲染时重新使用它还是有更聪明的方法?
谢谢。
你不应该使用一个东西作为它自己的模板,你会 运行 遇到各种各样的问题(特别是一旦你开始向属性添加小胡子标签,或者有条件地显示 html标签,或类似的东西)。
使您的模板成为页面上自己的元素。帮自己一个忙,为它使用 <script type="text/x-mustache">
标签。