jjzjj

Mustache

全部标签

javascript - Mustache.js 只允许换行,转义其他 HTML

我正在根据用户输入创建评论,并在用户点击“提交”后使用Mustache.js呈现它们。我意识到我可以用\n替换用户输入换行符()呈现为HTML中断,例如myString.replace(/\n/g,'');我意识到我可以通过使用三括号让Mustache不转义HTML{{{myString}}}但是,我想转义所有用户HTML,因为Mustache通常会使用双大括号{{...}},除了允许换行符最好的方法是什么?我可以在渲染后替换换行符,但这似乎是一个非常低效的解决方案,我认为必须有更好的方法。 最佳答案 选项1-使用前置标签:用包裹文

javascript - 共享 Rails 和 JavaScript View

我有点困惑为什么这不是一个更常解决的问题,但这里有。我的Rails应用程序可以正常生成我的View。我在界面上有一些动态内容。我想进行AJAX调用、返回JSON并填充应用程序的动态部分。我会使用JS模板库来执行此操作。我不想进行AJAX调用,让Rails处理View并将所有HTML发回。我希望响应是JSON,这样可以减少处理和连接时间。问题是我动态生成的HTML与我在Rails页面加载时静态生成的HTML相同(想想AJAX分页)。HTML自然在我的ERB文件中。但是当我生成更多内容时(比如第2页),我显然无法访问ERB文件并且需要在JavaScript模板文件中复制HTML。是否有解决

javascript - Mustache JS 模板 - 如何在脚本标记字符串中嵌入变量?

我刚开始使用Mustache,到目前为止我很喜欢它,但这让我感到困惑。我正在使用GitHubgistAPI提取我的gists,我想做的部分工作是将嵌入功能包含到我的页面中。问题是Mustache似乎不想与我的动态脚本标签有任何关系。例如,这工作正常:{{id}}此外,这很完美:如果我尝试将这些放在一起,就会出现严重错误:ChromeInspector显示了这个:GEThttps://gist.github.com/%7B%7Bid%7D%7D.js404(NotFound)...在我看来,转义或诸如此类的东西很奇怪,所以我切换到原始语法:我在Inspector中得到了相同的结果:GET

javascript - 或者使用 mustache.js 的等效运算符

好的,所以我知道mustache模板没有逻辑,但我该如何实现:...使用mustache模板语法?我能想到的最好的是:{{#a}}{{c}}{{d}}{{e}}{{/a}}{{^#a}}{{#b}}{{c}}{{d}}{{e}}{{/b}}{{/a}}...这显然很可怕,需要我复制“if”中的任何内容。有什么想法吗? 最佳答案 Mustache明确禁止这样的事情。这是逻辑,您正试图将其放入您的模板中:)适当的方法是将逻辑移动到您的ViewModel或View对象:a||$this->b;}}但如果是我,我会将该函数命名为类似hasF

javascript - 使用不同的数据多次渲染一个 mustache

我有两个要并排渲染的对象。从来没有我想要渲染更多或少于两个的情况。我的模型设置如下:{obj1:{...},obj2:{...}}使用mustache模板,我想使用相同的部分渲染每个对象:Object1{{>objPartial}}Object2{{>objPartial}}但是,mustache似乎不支持将上下文传递给局部。执行类似{{>objPartialobj1}}的操作似乎应该得到支持,但我找不到任何关于为部分设置上下文的文档。支持这种东西吗?如果不是,我如何在不复制部分(objPartial1和objPartial2)的情况下实现相同的效果? 最佳

javascript - 如何使用每个有 mustache 的 javascript?

我有一些json对象,其中一些里面有一些其他对象。如果我只留下里面没有其他对象的json对象,然后应用模板,一切顺利,我得到,在本例中有3个li元素。但是如果我抓取原始的jsonobj,结果会有点连线。我相信我需要做一个each语句来从每个主要对象中迭代每个子jsonobj也许我有点困惑所以这里是一些代码。我有一些像这样的json数据:{"msg_id":"134","message":"Nick","comment":[{"com_id":"9","comment":"test",},{"com_id":"10","comment":"testtt",},{"com_id":"11"

javascript - 如何使用 Hogan.JS 从外部文件加载模板?

我使用Hogan.JS作为JavaScript模板库。它应该从外部文件加载JavaScript模板。人们可能可以在一个外部JavaScript文件中外包多个模板。有人知道怎么做吗?我有以下代码示例:Hogan.JSTestYourtexthere:{{text}}vardata={text:'HelloWorld'};vartemplate=$('#scriptTemplate').html();varcompiledTemplate=Hogan.compile(template);varrenderedTemplate=compiledTemplate.render(data);va

javascript - 如果对象在数组中,如何使用 Mustache.js?

我使用Mustache.js成功地显示了html,这是代码varmygame={player:'viking',games:[{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}]};vartemplate='{{player}}isagoodguy{{#games}}name:{{name}}andtype:{{type}}{{/games}}';varhtml=Mustache.to_html(template,mygame);varcon=document.getElementById('

javascript - 如何包含我的 mustache.js 模板文件?

我是第一次使用mustache.js。我找到的所有示例似乎都在谈论将所有内容内联,但我希望我的模板位于外部文件中,以便它们可以在多个地方使用。我怎么做?(我的堆栈中有jQuery,如果这有所不同的话。)假设我有:模板.html{{title}}spends{{calc}}数据.jsvardata={title:"Joe",calc:function(){return2+4;}};index.htmlvartemplate=??????//howdoIattachthetemplate?varhtml=Mustache().to_html(template,data);$('#targe

javascript - 如何使用 handlebars/mustache 和 bootstrap typeahead 来渲染项目

我想使用handlebars模板自定义由bootstrap-typeahead呈现的项目。查看代码似乎默认项是.假设我想使用Handlebars模板来呈现我的项目。我认为我应该以这种方式(1)重新定义渲染函数。我的问题是:应该如何使用(1)withbootstrap-typeahead.jsv2.1.0`?这是(2)关于我传递给$.fn.typeahead的选项的代码(3)我的Handlebars/mustache模板。(1)varrenderItem=function(ul,user){//useristheBackbone.Modelreturn$('').data('item.a