2

当我被困在这里时,我正试图从 Jade 切换到 Swig(被 Swig 的疯狂性能所吸引)作为我的 Express 模板引擎——我正在将一系列序列化 JSON 从 Express 发送到 Swig 并使用此循环检索 Swig 中的数据这里:

<ul id = "list">
    {% if items %}
        {% for item in items %}
            {{ JSON.parse( item ).title }}
        {% endfor %}
    {% endif %}
</ul>

...但我明白了:

SyntaxError: Unexpected token )
    at Object.Function (unknown source)
    at createTemplate (/home/vijay/node_modules/swig/index.js:72:14)
    at getTemplate (/home/vijay/node_modules/swig/index.js:109:26)
    at Object.compile (/home/vijay/node_modules/swig/index.js:153:16)

如果我更改JSON.parse( item ).titleJSON.parse( item )上述内容,而不是错误,我会在我的视图中得到这个:

function parse() { [native code] }

下面看一下itemJSON 对象:

item { 
    id     : 2,
    title  : 'City Life ',
    author : 'Timothy J. Lindenburg',
    date   : 1337498792626,
    indent : 0         
}

简而言之,我想访问itemSwig 中的各个键和值,但我无法让 JSON.parse() 工作。如果有人能指出我正确的方向,将不胜感激(我听说 Swig 是基于 Django 模板的,所以如果你使用过这些模板,这应该很容易)。

4

1 回答 1

4

我不知道你为什么要解析它。在 swig 中,它已经是 JSON。因此,要获得标题,请更改{{ JSON.parse(item).title }}{{ item.title }}.

于 2012-08-15T14:24:42.610 回答