【问题标题】:Mustache templating - presenting JSON collectionMustache 模板 - 呈现 JSON 集合
【发布时间】:2012-04-09 19:15:12
【问题描述】:

我正在尝试呈现一个 JSON 集合,它是异步检索的,使用 FireBug 我可以看到它最终看起来像:

[{"Id":"00000010"},{"Id":"00000002"},{"Id":"00000003"}]

这不起作用,但如果我将集合声明为:

[{ "Id": "00000004" }, { "Id": "00000005" }, { "Id": "00000006"}]

这可行,然后使用 FireBug 我可以看到这略有不同:

[Object { Id="00000004"}, Object { Id="00000005"}, Object { Id="00000006"}]

为什么在同步检索数据和声明集合时会有所不同?我有什么选择可以让它发挥作用。

谢谢。

更新

我也在使用 sammy.js,这里是 JavaScript:

var app = $.sammy('div[role="main"]', function () {

    this.use('Mustache', 'html');

    this.get('#/', function (context) {
        this.load('/data')
            .then(function (response) {

                context.blah = 'blah';
                context.data = response;

                var data2 = [{ "Id": "00000004" }, { "Id": "00000005" }, { "Id": "00000006"}];
                context.data2 = data2;

                var templateUrl = '@Url.Content("~/Templates/template.html")';

                context.partial(templateUrl);
            });
    });
});

$(function () {
    app.run('#/');
});

这是模板:

<h1>{{blah}}</h1>
<ul>
{{#data}}
<li>{{Id}}</li>
{{/data}}
</ul>
<ul>
{{#data2}}
<li>{{Id}}</li>
{{/data2}}
</ul>

【问题讨论】:

  • 请发布有效和无效的实际代码。
  • 是的。你写道:我有哪些选择可以让它发挥作用?但不清楚什么不适合你。

标签: javascript mustache


【解决方案1】:

好的,我想出了这个!

context.data = response;

变成

context.data = JSON.parse(response);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 2011-11-10
    • 2011-11-26
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    相关资源
    最近更新 更多