Javascript mustache.js:具有外部变量的可枚举对象

Javascript mustache.js:具有外部变量的可枚举对象,javascript,mustache,Javascript,Mustache,Iv'e完成了很棒的教程 var data = { employees: [ { firstName: "Christophe", lastName: "Coenraets"}, { firstName: "John", lastName: "Smith"} ]}; var template = "Employees:<ul>{{#employees}}" +

Iv'e完成了很棒的教程

var data = {
    employees: [
    {   firstName: "Christophe",
        lastName: "Coenraets"},
    {   firstName: "John",
        lastName: "Smith"}
    ]}; 
var template = "Employees:<ul>{{#employees}}" +
                            "<li>{{firstName}} {{lastName}}</li>" +
                            "{{/employees}}</ul>"; 
var html = Mustache.to_html(template, data); 
$('#sampleArea').html(html);
但是上面的例子显然不起作用,因为
标签
数据
的属性,而不是
员工的属性

您可以尝试以下方法:使用“./”将级别提高一级

var template = "Employees:<ul>{{#employees}}" +
                            "<li>{{firstName}} {{lastName}}" + 
                            "the label is: {{../label}}" +
                            "</li>" +
                            "{{/employees}}</ul>"; 
var template=“Employees:
    {{{#Employees}”+ “
  • {{firstName}{{lastName}}”+ “标签是:{{../label}”+ “
  • ”+ “{{/employees}}
”;
另一种解决方案是将整个节点渲染为:

var template = "{{#data}}Employees:<ul>{{#data.employees}}" +
                                "<li>{{data.employees.firstName}} {{data.employees.lastName}}" + 
                                "the label is: {{data.label}}" +
                                "</li>" +
                                "{{/data.employees}}</ul>{{/data}}"
var-template=“{{{#data}}员工:
    {{{#data.Employees}”+ “
  • {{data.employees.firstName}{{data.employees.lastName}”+ “标签为:{{data.label}”+ “
  • ”+ “{{/data.employees}
{{/data}”
您可以尝试以下方法:使用“./”更高一级

var template = "Employees:<ul>{{#employees}}" +
                            "<li>{{firstName}} {{lastName}}" + 
                            "the label is: {{../label}}" +
                            "</li>" +
                            "{{/employees}}</ul>"; 
var template=“Employees:
    {{{#Employees}”+ “
  • {{firstName}{{lastName}}”+ “标签是:{{../label}”+ “
  • ”+ “{{/employees}}
”;
另一种解决方案是将整个节点渲染为:

var template = "{{#data}}Employees:<ul>{{#data.employees}}" +
                                "<li>{{data.employees.firstName}} {{data.employees.lastName}}" + 
                                "the label is: {{data.label}}" +
                                "</li>" +
                                "{{/data.employees}}</ul>{{/data}}"
var-template=“{{{#data}}员工:
    {{{#data.Employees}”+ “
  • {{data.employees.firstName}{{data.employees.lastName}”+ “标签为:{{data.label}”+ “
  • ”+ “{{/data.employees}
{{/data}”
你试过{../label}吗?你试过{{../label}吗?如果是第二种解决方案,{{{employees}是否也应该写成:{{{{data.employees}?还有{{firstName}->{{data.employees.firstName}}?回答得好!TNX给出了第二种解决方案,{{{employees}}是否也应该写成:{{{data.employees}?还有{{firstName}->{{data.employees.firstName}}?回答得好!tnx