javascript – 髭模板:嵌套模板

如何在胡塞中使用嵌套模板?有没有办法做同样的事情?
var tmpl="{{#data}} 
{{values}}
Name: {{name}}
//{{another_templ({{name.value}})}}
{{/values}}
{{/data}}"

希望你们有问题.我没有为js有效性添加转义字符,因为代码被分割成不同的行.

解决方法

您可以使用lambda嵌套模板:
function nested_template(template_string,translate) {
  return function() {
    return function(text,render) {
      return Mustache.to_html(template_string,translate(render(text)));
    };
  };
}

var template_string = 
  "{{#data}}"+
    "{{values}}"+
      "Name: {{name}}"+
      "{{#another_templ}}{{name}}{{/another_templ}}"+
    "{{/values}}"+
  "{{/data}}";

var another_template_string = "<b>{{name}}</b>"; // for example

var view = {
  data: {
    values: {
      name: "Test"
    }
  },another_templ: nested_template(another_template_string,function(text) {
    return {name: text};
  });
};

var result = Mustache.to_html(template_string,view);

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面