- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Index.html 文件,我在其中使用容器类。我有另一个包含 mustache 变量的 html 文件。
这是我正在使用的代码,
假设这是一个.html。
<script id="filtersOptions" type="text/html">
<ul class="checkboxCommonContent">
{{#data}}
<li>
<div>
<input type="checkbox" id="checkbox-1-1" class="regular-checkbox"><label for="checkbox-1-1"></label><span class="lblText">{{brand_name}}</span>
</div>
</li>
{{/data}}
</ul>
我有一个 json 文件,其中的品牌信息是这样的,
{
"brands":[
{
"brand_name":"Adidas",
"available_products":30
}
]
}
通过 Javascript,我正在获取 Json 数据并尝试更新 mustache 模板,但出现错误。从js获取信息
loadFileForFilters: function(){
$.getJSON('js/json/brand.json', {}, function(data, textStatus, jqXHr) {
console.log(data);
var f = $("#filtersOptions").html();
$.get('files/sort_and_filter_lb.html', function(template, textStatus, jqXhr) {
var template = Mustache.render(f, {data: data});
//$(".container").html(template);
});
});
}
容器 - 在 index.html 中。sort_and_filter_lb.html 文件有以下代码
<script id="filtersOptions" type="text/html"><ul class="checkboxCommonContent"> {{#data}} <li> <div> <input type="checkbox" id="checkbox-1-1" class="regular-checkbox"><label for="checkbox-1-1"></label><span class="lblText">{{brand_name}}</span> </div> </li> {{/data}} </ul> </script>
有人可以指导我吗?为什么我没有在主模板中获取数据。
最佳答案
编辑,
浏览了一些文档 MUSTACHE MANUAL和演示 A Simple Mustache Demo ,以及重新阅读问题,以介绍 Mustache.js
.
乍一看,似乎json
对象在 brand.json
没有 data
对应于 {{#data}}
的属性;见http://mustache.github.io/mustache.5.html#Sections在template
和 hash
的 {{#repo}}
.
不确定第二次 ajax 调用的必要性,即 $.get()
?现有#filtersOptions
(f
) 可以修改 html,以减少对第一个的 ajax 调用,$.getJSON()
?
虽然 ajax 部分重新安排以在 .then()
内处理它们各自的返回值,但此处并未直接提及以上部分回调。
已更改 <script>
元素位于 sort_and_filter_lb.html
归档到<div>
,供 jsfiddle 处理。
注意,以前没有尝试过Mustache.js
尝试
v2
html
<script id="filtersOptions" type="text/html">
<ul class="checkboxCommonContent"> {{#data}}
<li> <div> <input type="checkbox"
id="checkbox-1-1"
class="regular-checkbox" /> <label
for="checkbox-1-1"> </label><span class="lblText">{{brand_name}}</span> </div>
</li> {{/data}}
</ul>
</script>
<div class="process">
<button>Process Template</button>
</div>
<div id="container"></div>
js
$(function () {
$(".process button").on("click", function () {
var f = $('#filtersOptions').html();
var _data = {
"brands": {
"data": [{
"brand_name": "Adidas"
}, {
"available_products": 30
}]
}
};
var file = String('<div id=filtersOptions type=text/html>'
+'<ul class=checkboxCommonContent> {{#data}} <li>'
+'<div>'
+'<input type=checkbox id=checkbox-1-1 class=regular-checkbox>'
+'<label for=checkbox-1-1></label>'
+'<span class=lblText>{{brand_name}}</span>'
+'</div> </li> {{/data}} </ul> </div>');
var request1 = $.post("/echo/json/", {
json: JSON.stringify(_data)
}, function (data, textStatus, jqxhr) {
return data.brands;
});
var request2 = $.post("/echo/html/", {
html: file
}, function (data, textStatus, jqxhr) {
return data
});
$.when(request1, request2)
.then(function (a, b) {
console.log(a[0], b[0]);
var html = Mustache.render(b[0] /* or , `f` */, a[0].brands);
$('#container').html(html);
})
});
});
关于javascript - 从 mustache 读取 Json 和更新模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25098210/
我正在尝试将 Mustache 与 requireJS 和 jQuery 一起使用,由于 Chrome 的控制台输出正确,它似乎正在加载到浏览器中: >$.mustache
我想弄清楚 mustache 中的偏音是如何工作的。 JS var mustacheTmpl = Mustache.render(popups, {list:true}); 弹出模板 {{#list}
我想知道是否有比我当前解决以下问题更优雅的解决方案 问题:在以下情况下,使用 Mustache 从动态数组生成动态表: 总列数未知 只有一两个列名是已知的,必须有条件地呈现 不得使用辅助函数 数据仅以
我开始查看一些 mustache 模板,但遇到了一些我不理解/无法找到解释的东西。 {{#something}}word-here={{.}}{{/something}} 有人能帮我理解什么{{.}}
我有一个代码,它呈现了一个带有一些迭代的 mustache 模板,例如: {{#items}} some html code.... {{/items}} 但我想将渲染的项目数放入迭代中,如下所示
我正在使用 Mustache 2.7.0 并第一次尝试使用 Blocks pragma。 基本上,我称之为basic.mustache {{ {{$ title}
我在文本文件中的 mustache 标签是例如“{{foo}}”。 我传递的值有一个嵌入的换行符:“aaaa\nbbbb”。 我想要的行为是输出具有: aaaa bbbb 但相反,它是 aaaa
我有如下的 JSON 字符串 { Red:10, Green: 0 } 所以我想显示以下行 10 次(如 Red: 10 ) 我如何使用 Mustache 做到这一点? 我试过了 {{# R
在 JavaScript 中: falsy: false, null, undefined, 0, -0, NaN, "" truthy: everything else, including []
我们如何在 mustache 上写以下内容? 我想检查一个变量是否存在,如果存在,我想检查该变量是否等于另一个变量。所以 这将是 PHP 等价物 if ($example && $example ==
我有一个使用 Mustache 模板的服务器渲染表单。提交表单时,如果出现错误,我会重新显示表单以及一些错误。我希望使用提交的相同值重新填充字段。 但是,我不确定如何从选择列表中标记正确的项目。这是我
我正在尝试使 Mustache JS 输出内容而不解析一些变量。例如: {{block.type}}-{{block.id}}-label-{{element.id}} 我希望它只解析 block ,
我正在使用 Mustache templating library 并尝试生成一个没有尾随逗号的逗号分隔列表,例如 red, green, blue 给定结构,使用尾随逗号创建列表很简单 { "i
我正在使用Mustache templating library并尝试生成一个逗号分隔的列表,没有尾随逗号,例如 red, green, blue 根据结构,创建带有尾随逗号的列表非常简单 { "
我正在将电子邮件模板从 Mandrill 移至 Postmark,这需要将 Handlebars 转换为 Mustachio。在 Handlebars 我有这样的事情: {{#if some_vari
是否可以检查 mustache js 中的特定值,例如 {{name}} == "James" ? 数据: json: { name: "James" } HTML: {{name}} //W
我在命令行上使用 Mustache 将 JSON 对象嵌入到 中HTML 对象中的标签。 cat sampleData.json | mustache - man_report.mustache >
我正在尝试使用 mustache 模板来呈现非常简单的表单,但是,其中一个表单具有一组单选按钮。我不知道如何在呈现表单时选择正确的单选按钮。 这是很简单的东西,我只是错过了一些东西,还是 mustac
是否有一个简单的、独立的、可移植的、现有的用于 Windows 的 Mustache 发行版,它可以让我完全按照 mustache(1) 中指定的(或尽可能接近)调用 Mustache手动的? cat
我正在尝试做这样的事情,但我不知道该怎么做: 我有一个名为 {{dropdown_}} 的 mustache 参数,另一个名为 {{number}} 我想做的是这样的: {{dropdown_{{nu
我是一名优秀的程序员,十分优秀!