2

ここで行き詰まったとき、Express テンプレート エンジンとして Jade から Swig に切り替えようとしています (Swig の非常識なパフォーマンスに魅了されました)。シリアル化された 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 ).titleするとJSON.parse( item )、エラーの代わりに次のように表示されます。

function parse() { [native code] }

itemJSON オブジェクトを次に示します。

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

簡単に言えば、Swig の個々のキーと値にアクセスしたいのですが、itemJSON.parse() を動作させることができません。誰かが私を正しい方向に向けてくれるとありがたいです (Swig は Django テンプレートに基づいていると言われているので、それらを使用したことがあれば、これは簡単なはずです)。

4

1 に答える 1

4

なぜ解析したいのかわかりません。swig では、すでに JSON です。タイトルを取得するには、 に変更{{ JSON.parse(item).title }}{{ item.title }}ます。

于 2012-08-15T14:24:42.610 に答える