javascript – 髭模板:嵌套模板

前端之家收集整理的这篇文章主要介绍了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);

猜你在找的JavaScript相关文章