3

アンダースコアが使用する <%= %> タグが .aspx レンダリング エンジンによって検出され、エラーが発生するため、.aspx ビューでアンダースコア テンプレートをどのように使用するのか疑問に思っていました。

例えば:

<script type="text/template" id="my-template">
  <span class="event" title="<%= description %>">
      <%= title %>
  </span>
</script>

.aspx レンダリング エンジンは、このテンプレートをモデルにバインドしようとしていると見なすため、このテンプレートでエラーが発生します。

ありがとう。

4

1 に答える 1

11

細かいマニュアルから:

template _.template(templateString, [data], [settings])
[...]
ERB スタイルの区切り記号が気に入らない場合は、Underscore のテンプレート設定を変更して、別の記号を使用して補間コードを引き立たせることができます。そのまま補間する必要がある式に一致する補間正規表現、HTML エスケープ後に挿入する必要がある式に一致するエスケープ正規表現、および結果の文字列に挿入せずに評価する必要がある式に一致する評価正規表現を定義します。

したがって、デフォルト<%=...%>の 、<%-...%>、および<%...%>区切り文字が機能しない場合は、簡単な構成変更で別のものを使用できます。たとえば、{%...%}の代わりにを使用する場合は、がロードされ<%...%>た後、を使用する前に次のようにします。underscore.js_.template

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

デモ: http://jsfiddle.net/ambiguous/TfB5M/

于 2013-04-15T16:48:40.133 に答える