0

を使用するjQoteと、 のようなものを使用しない限り、テンプレートは適切にラムダにコンパイルされ$.each()ます_.*jQuery$.*

私のタグは次のように設定されています<* *>...次のようなことができる必要があります:

<* $.each( this.scheduled, function( i, s ) { *>
    <a href="<*= _.base *>/.calendar/goto/<*= s.timestamp *>">
        <*= s.readable *>
    </a>
<* }) *>

$._たとえば、これを行うと...を使用してこのエラーが発生し、たとえばから$.each()に変更すると、同じ種類のエラーが発生します。for() { }_.*

Expected an identifier but found 'out' instead

正常にコンパイルされたテンプレートを見ると、データが取り込まれた解析済みのテンプレートで満たされていoutますstringjQote2私が実際にアクセスできるのは、this自分のデータを含む だけです。

jQote2このあいまいなエラーをトリガーせずに、テンプレート内のグローバル変数にアクセスするにはどうすればよいですか?

4

1 に答える 1

0

範囲の問題ではありませんでした。

によって生成されたコードを徹底的に掘り下げて検証した結果jQote2、次のようになりました。

<* $.each( this.scheduled, function( i, s ) { *>
    <a href="<*= _.base *>/.calendar/goto/<*= s.timestamp *>">
        <*= s.readable *>
    </a>
<* }); *>

すべての違いを生んだ 1 人のキャラクターを拡大してみましょう。<* }); *>

セミコロンがありません!コード ブロックを完全に閉じることは、コンパイル後にテンプレートに適用される圧縮のレベルで非常に重要です。

于 2014-02-01T20:57:45.420 に答える