问题标签 [mustache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7204 浏览

javascript - 如何缓存胡子模板?

我想缓存mustache模板。

我知道我可以mustache直接包含模板,如下所示:

并使用 javascript 调用它们,如下所示:

这不会缓存模板。我能弄清楚的唯一方法是使用链接标签,但是如何在javascript没有ajax请求的情况下调用模板内容?

这行不通(当然)...

HTML

Javascript

0 投票
2 回答
527 浏览

javascript - 带有预编译脚本的Javascript模板引擎?

我正在搜索预编译脚本 + 观察程序附带的 javascript 模板引擎。我怎么看:

  1. 您将文件编写为典型的 html 布局并存储在 .mustache 类型的文件中
  2. 您在控制台中运行一个观察程序,它观察文件中的更改并将它们编译为 .js 文件,其中模板被视为一个函数,它执行字符串连接并嵌入变量的值。
  3. 该文件在应用程序中使用。

这种机制将解决加载非js类型文件的跨域问题,并且出于性能原因将它们合并到一个文件中很容易。

从我所做的研究来看,只有handlebars.js 承诺将来会提供此功能。很高兴知道是否有其他人实施了这一点?

0 投票
1 回答
421 浏览

javascript - Mustache 的流式传输功能有哪些用例?

小胡子的文档中:

要从 mustache.js 流式传输模板结果,您可以将可选的 send() 回调传递给 to_html() 调用:

也许是我没看懂文档。我确信这是一个有用的功能,但我找不到好的用例。任何人都可以请赐教吗?

谢谢!

0 投票
1 回答
7414 浏览

c# - 如何使用 Nustache 渲染对象集合?

我正在尝试使用Nustache,以便可以在 ASP.Net Web 应用程序中的后端和前端代码之间共享渲染模板。当我只是将一个对象传递给模板时它工作正常,但我不知道如何让它呈现一个集合。因此,如果我有这样的模板:

然后我想传入一组对象并取出一组th元素。

我尝试过的事情:

  • 创建一个具有属性的类WarningLevel,LimitLevelTotalHours,将对象添加到 aList并直接传递它:Nustache.Core.Render.FileToString(System.Web.HttpContext.Current.Server.MapPath("my.template"), ListOfObjects)
  • 做同样的事情,除了创建一个匿名类:Nustache.Core.Render.FileToString(System.Web.HttpContext.Current.Server.MapPath("my.template"), new { RenderItems = ListOfObjects})
  • 而不是列表,使用Dictionary包含相同对象的
  • 使用字典字典 - 所以每个项目本身就是具有上述属性的字典

它呈现任何东西的唯一方法是如果我使用匿名类,但无论我做什么,我都无法让它用命名项目填充模板。我确定我在这里遗漏了一些相当明显的东西,因为我认为这应该很简单,但是文档说“查看代码和测试”,但我无法确定哪个测试实际上正在处理这种情况。有人可以指出我正确的方向,还是提供一些示例代码?

0 投票
2 回答
23352 浏览

javascript - Mustache.js + jQuery:最小的工作示例是什么?

我想在我的 HTML5 应用程序中使用 mustache.js 和 jQuery,但我不能让所有组件一起工作。每个文件都找到了,这里没有问题(模板加载正确,我可以在Firebug调试器中看到它的值)。

这是我的 index.html :

这是我的 app.js 文件:

jquery.mustache.js 文件是从https://github.com/janl/mustache.js生成的文件:

显示注释。萤火虫告诉我

胡子未定义

见捕获: 在此处输入图像描述

我知道缺少了什么,但我不知道是什么。

谢谢。


编辑:一个最小示例的正确和完整答案如下:

  • 在脚本中编写模板,不要从文件中加载它
  • json 数据的同上
  • 阅读如何生成 jQuery 并使用$.mustache.to_html函数而不是(记录在 github 上)Mustache.to_html(感谢@mikez302
  • 重构直到你放弃

但是,很容易从另一个文件中读取 json:

您最终还可以从文件中读取模板:

工作示例(没有加载顺序问题):

0 投票
3 回答
3297 浏览

netbeans - 是否有适用于 NetBeans 的 Mustache 语法荧光笔或插件?

胡须之类的东西。我正在使用 NetBeans,我需要编辑.mustache文件。问题是当我使用 NetBeans 打开它时,语法就像纯文本一样。

1) .mustache文件是否可以使用类似 HTML 的语法?

2) 是否有任何插件可以让 Mustache 更轻松地工作?我只找到了这个教程

0 投票
1 回答
1653 浏览

javascript - 可以缓存 mustache.js 模板函数吗?

当您在没有上下文的情况下传递 JavaScript 模板时,我见过的大多数模板引擎都会返回一个 JS 函数。然后,您可以保存该 JS 函数,并有效地避免每次要创建具有不同上下文的相同模板时都必须解析模板标记。

但是,我似乎无法找到使用 mustache.js 执行此操作的方法,这意味着对于使用相同模板对渲染器的每次调用,每次使用完全相同的令牌解析代码都会以完全相同的结果运行唯一的区别是上下文值。

无论如何知道是否有办法从 mustache.js 中提取预编译的 JavaScript 模板函数?

0 投票
6 回答
73210 浏览

javascript - mustache 可以迭代顶级数组吗?

我的对象如下所示:

我想使用 mustache 模板从中生成如下内容:

但是怎么做?我真的必须先把它变成这样的东西吗?

0 投票
2 回答
2127 浏览

ruby-on-rails - 在 Rails、Backbone 和 Mustache 中使用 JSON - 格式似乎不同

我正在尝试用backbone.js 和mustache 模板组合一个Rails 应用程序。我发现主干所需的 JSON 与 Mustache 所需的 JSON 不兼容。(我开始通过示例学习本教程Cloudedit -abone.js 教程,但我想在他使用 JST 的地方使用 Mustache。

对于骨干网,我们必须设置 ActiveRecord::Base.include_root_in_json = false。对于我的模型(有名字和姓氏的人),rails 从 /people 发送的数据如下所示:

我的小胡子模板如下所示:

从小胡子文档中,我希望它想看到的是

编辑我将 JS 集合转换回 JSON 并发送到 Mustache。不需要那样做。Mustache.js 期望看到 js 对象,而不是 JSON 字符串。

当我到达 Mustache.to_html 时,我有一个模型的骨干集合。这些模型具有属性firstnamesurname。在萤火虫中看起来像这样:

这里似乎有几个问题。1. 没有提及收藏(人)的名称。我猜我可以通过各种方式解决这个问题,至少通过在模板中使用 {{#models}}..{{/models}}。

  1. 这些属性比 Mustache.js 看起来更深。当它开始尝试在对象中查找 'firstname' 标记时,它会查找 object['firstname'] 并没有找到它,但 object.attributes['firstname'] 具有正确的值。

看来我在这里都搞混了....那我做错了什么?我该如何解决?

0 投票
2 回答
932 浏览

php - 如何将 Mustache 与 Symfony 集成?

我想用 Mustache 替换 symfony1.4 的默认模板。令我惊讶的是,我无法通过谷歌搜索找到相关的方法。

然后,我想我可以用简单的方式做到这一点。

这看起来很笨拙。主要问题是:

在哪里存储小胡子模板(在我的例子中是'Hello {{planet}}')?

是否可以替换默认的视图处理程序?这样我就可以将小胡子模板放在模板文件夹中并对操作透明?

谢谢