3

アンダースコアテンプレートを解析しようとするとエラーが発生します。これは複数行の文字列として保存されます。

{{ _.each(records, function(record, index) { }}\
    <tr>\
        {{ record.get("hours") }}\
    </tr>\
{{ }) }}\

エラー:

Uncaught SyntaxError:Unexpected token)

1行目(_.each行)。

アンダースコアのドキュメントによると、構文は私には正しいように見えます。

編集:テンプレートで<%=の代わりに{{を使用しており、<%=に戻しても問題は解決しないことに注意してください。

編集:これが私が評価に使用する正規表現です:

// Underscore templates should use {{ variable_name }} instead of <%= variable_name =%>
_.templateSettings = {
    interpolate: /\{\{(.+?)\}\}/g
};
4

1 に答える 1

4

{[評価には、を使用する必要があります。

たとえば、underscore.jsが評価に使用するデフォルトのシンボルを変更するために正規表現を最初に定義したと仮定します。

 _.templateSettings = {
       evaluate: /\{\[([\s\S]+?)\]\}/g,
       interpolate: /\{\{([\s\S]+?)\}\}/g, 
       escape: /\{\{-([\s\S]+?)\}\}/g
 };

その後、次のようなことを行うことができます

{[ _.each(records, function(record, index) { ]}
    <tr>
        {{ record.get("hours") }}
    </tr>
{[ },this); ]}
于 2012-08-24T22:02:24.800 に答える