【问题标题】:Persistent templates (or re-using templates) with Hogan / Mustache?Hogan / Mustache 的持久模板(或重复使用模板)?
【发布时间】:2015-01-28 21:49:48
【问题描述】:

不完全确定“持久模板”是否是我所追求的,这是我第一次使用 Javascript 模板引擎。我很好奇是否有办法保持模板数据完整,以便在呈现文档后重新呈现文档......

一个例子——我定义了一个简单的模板sn-p:

<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) 的方式做一些事情,但我觉得这在某种程度上使得使用模板背后的想法变得毫无用处。

所以问题是,在文档上重用模板的方法是什么?将模板数据缓存到变量中,渲染时复用还是有更聪明的方法?

谢谢。

【问题讨论】:

    标签: javascript templates mustache hogan.js


    【解决方案1】:

    你不应该使用一个东西作为它自己的模板,你会遇到各种各样的问题(尤其是当你开始向属性添加 mustache 标签,或者有​​条件地显示 html 标签,或类似的东西时)。

    让您的模板在页面上成为自己的元素。帮自己一个忙,使用&lt;script type="text/x-mustache"&gt; 标签。

    【讨论】:

    • 谢谢,这听起来很明智。
    猜你喜欢
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多