4

我有一个 JSON 字符串:

{
  "items": [
      {"name": "red" },
      {"name": "blue" }
  ],
  "test" : {
        "items" :[
             { "name" : "Hello" },
             { "name" : "World" }
         ]
  }
}

我如何打印出来

<li>Hello</li>
<li>World</li>

我尝试使用下面的模板,但它不起作用。它改为打印“红色和蓝色”。我无权更改 JSON 字符串,我只能操作模板。

{{#test}}
  {{#items}}
     <li>{{name}}</li>
  {{/items}}
{{/test}}
4

1 回答 1

3

出于某种原因,以下代码:

<head>
<script src="https://github.com/andyet/ICanHaz.js/raw/master/ICanHaz.js"></script>

<script>
function clicked()
{
       ich.addTemplate("user", "{{#test}} {{#items}} <li>{{name}}</li>\n {{/items}} {{/test}}");
       document.getElementById("result").innerHTML = ich.user(userData);
}

var userData = {
  "items": [
      {"name": "red" },
      {"name": "blue" }
  ],
  "test" : {
        "items" :[
             { "name" : "Hello" },
             { "name" : "World" }
         ]
  }
};

</script>

</head>
<body>
    <button onclick="clicked()">CLICK</button>
    <ul id="result"><li>Result</li></div>
</body>

确切地给了我:

  • 你好
  • 世界

所以,你的模板应该是正确的。

于 2012-06-01T14:01:28.023 回答