jjzjj

Mustache

全部标签

javascript - 如何缓存 mustache 模板?

我想缓存mustache模板。我知道我可以直接包含mustache模板,就像这样:{{title}}然后用javascript调用它们,像这样:varhtml,template,data;data={title:"Sometitle"};template=document.getElementById('mustache-template').innerHTML;html=Mustache.to_html(template,data);这不会缓存模板。我唯一能弄清楚的方法是使用链接标签,但是如何在没有ajax请求的情况下通过javascript调用模板内容?这行不通(当然)...HTM

javascript - 如何将我的 Mustache/Handlebars 模板存储在单独的文件中?

我在一个项目中使用handlebars.js,并且我开始拥有大量模板。现在它们存储在我的主模板应用程序文件中,如下所示:blablabla{{var}}blablabla我想知道是否有办法将它们放在单独的文件中,例如.js文件或其他文件,以避免将它们堆叠在我的源代码页面中。我知道有几种解决方案可以通过Ajax调用这些模板,但这似乎会导致我收到太多不必要的请求。谢谢 最佳答案 我创建并开源了NodeInterval对于我的HTML页面中太多js模板的完全相同的问题。它允许您将所有模板放入以您喜欢的任何层次结构组织的模板文件夹中。它具有

javascript - Backbone.js 内存管理,增加 DOM 节点数

情况:我正在开发一个相当复杂的单页Backbone应用程序,它可能会连续运行8-12小时以上。因此,需要确保应用程序不会泄漏,也不会因X小时后崩溃或速度急剧下降而出名。应用:该应用基于Backbone构建(mv*),Zepto(类似于jquery),Curl(amd装载机)&Mustache(模板化)。问题:我刚刚征服了事件监听器。垃圾收集器似乎在清理这些家伙方面做得很好,但DOM节点数不会停止攀升。问题:是否有适当的方法来处理DOM节点,以便它们被正确地垃圾收集,或者这个DOM节点计数是一个永远不会减少的运行总数?有没有人知道这些框架中的任何一个不能很好地处理DOM节点?可能是mus

javascript - 在 mustache 模板中包含 javascript

我有一个javascriptblock,用于显示我希望在页面上每第n次包含的广告。我使用Mustache作为我的模板语言,但不知道如何包含js,所以它作为脚本运行,而不是仅仅作为字符串插入。{{{GA_googleFillSlot("MPU")}}}我已经尝试了triple{我希望它能逃脱但遗憾的是它没有。 最佳答案 您的json-input应该引用要调用的脚本:JSONvarjson={id:"someid",gaFillSlot:function(){GA_googleFillSlot("MPU");}}模板{{gaFillSl

javascript - mustache 模板 : nested templates

如何在mustache中使用嵌套模板?有没有办法做到这一点?vartmpl="{{#data}}{{values}}Name:{{name}}//{{another_templ({{name.value}})}}{{/values}}{{/data}}"希望你们得到了问题。我没有为js有效性添加转义字符,因为代码被分成不同的行。 最佳答案 您可以使用lambda嵌套模板:functionnested_template(template_string,translate){returnfunction(){returnfunction

javascript - Mustache:全局禁用 html 转义?

有没有办法(不修改mustache的源代码)禁用HTML转义?我将mustache用于其他用途,不想让以下实体转义。varentityMap={"&":"&","":">",'"':'"',"'":''',"/":'/'};给定一个类似foo'{{bar}}'的模板和一个View{bar:1}将产生foo'1'. 最佳答案 如果您不尝试对某些字符串进行HTML转义,您只需执行{{{xx}}}而不是{{xx}}根据:http://mustache.github.io/mustac

javascript - 如何使用 mustache js 模板引擎访问嵌套对象

我有这个json返回{"timeline":[{"id":"2","self":{"uid":"2","username":"ptamzz"},"file":{"fid":"43","file_name":"FirstName"},"connection":{"fid":"4","username":"tom"},"action":"viewedyourdocument","time":"2012-01-1612:23:03","tags":["Engineering","ComputerScience","Java","JavaLibrary"]},{"id":"1","self":

php - ng-init 中的单引号/双引号

假设我们正在通过Mustache将初始数据从php传递到Angular的View,并且数据是一些包含引号的字符串,例如“无法删除项目”。默认情况下,Mustache将单引号转换为',例如:ng-init="message='Can'tdeleteitem'"但这会导致某种Angular解析问题:LexerError:Unterminatedquoteatcolumns...[']inexpression[message='Can'tdeleteitem']我不能使用mustache的三重curl,因为那样它会像:ng-init="message='Can'tdeleteite

php - 在模板 Mustache.php 中包含模板

我有3个模板文件:main.tplmain_header.tplmain_footer.tpl我需要使用Mustache.php在第一个模板中包含最后两个模板我找不到有关它的文档。我该怎么办? 最佳答案 包含的模板在Mustache中称为“部分”。包含它们的标签如下所示:{{>main_header}}{{>main_footer}}您需要setupatemplateloader以便Mustache可以自动加载它们。因为你的文件扩展名是.tpl,你也应该letyourtemplateloaderknow.生成的代码可能看起来像这样:

php - 如何将 Mustache 与 Symfony 集成?

我想用Mustache替换symfony1.4的默认模板。令我惊讶的是,我无法通过谷歌搜索找到相关方法。那么,我想我可以用简单的方法来做。publicfunctionexecuteIndex(sfWebRequest$request){include('/path/to/Mustache.php');$m=newMustache();echo$m->render('Hello{{planet}}',array('planet'=>'World!'));returnsfView::NONE;}这看起来很笨拙。主要问题是:在哪里存储mustache模板(在我的例子中是“Hello{{pla