2

アンダースコアのテンプレート メソッドのマークアップ タイプの違いを理解しようとしています。

具体的には、アンダースコア <%- %> マークアップと HTML エスケープ以外の <%= %> の違いを理解しようとしています。2つのタイプの間に他に違いはありますか?

アンダースコアのドキュメントから:

値を補間して HTML エスケープする場合は、<%- … %> を使用します。

このコンテキストでの補間とはどういう意味ですか?

4

3 に答える 3

4

これは、評価して入力することを意味します..

あなたが持っているとしましょう

model attributes to JSONこれを変換した後、これがオブジェクトであるとしましょう

{
   title : 'Hello World',
   escapeTitle : '<Hello World >'    
}; 

こうすれば

<%= {{title}} %>         // Displayed as -- Hello World 
<%= {{escapedTitle}} %>  // Displayed as -- &#60;Hello World&#62;

でもこれを使えば

<%- {{escapedTitle}} %>  // Displayed as -- <Hello World>

したがって、ユーザーがエスケープしたい場合は、最初に文字があるかどうかが評価され、次に入力されます

于 2013-05-23T21:50:14.710 に答える
2

アンダースコアは、テンプレートに渡す JSON のプロパティ firstname の値の <%-firstName %> など、<% %> 宣言内のパラメーターの値を変更します。これは、変数宣言を実際の値に置き換えていることを意味します。- = の違いは、この値を HTML でスケープしたい場合だけです。

于 2013-05-23T21:50:28.100 に答える
0

補間とは、javascript 式を評価し、結果の値をテンプレート データ内に配置することを意味します。例えば:

_.template('Hello, <%- name %>', {name: 'Tony'})

戻りHello, Tonyます。評価とは対照的に、これは補間です。制御フローの式や、テンプレート出力文字列の一部になる値を計算することだけを目的としないその他の式を使用できます。

于 2013-05-23T21:51:26.790 に答える