アンダースコアテンプレートで、名前以外に属性にアクセスする方法はありますか?「2a」という名前がありますが、最初の文字が数字であるため、直接参照できません。たとえば、これは機能しません。
<input type="checkbox" name="6a" <%= 6a ? "checked" : "" %>>
ありがとう!
アンダースコアテンプレートで、名前以外に属性にアクセスする方法はありますか?「2a」という名前がありますが、最初の文字が数字であるため、直接参照できません。たとえば、これは機能しません。
<input type="checkbox" name="6a" <%= 6a ? "checked" : "" %>>
ありがとう!
問題のある属性の名前を変更する以外に、いくつかのオプションがあります。
アンダースコア_.template
にはvariable
オプションがあります。
デフォルトでは、テンプレート
with
はデータの値をステートメントを介してローカルスコープに配置します。ただし、変数設定で単一の変数名を指定できます。
だからあなたはこれを行うことができます:
<input type="checkbox" name="6a" <%= v['6a'] ? "checked" : "" %>>
この:
var t = _.template($('#whatever').html(), null, { variable: 'v' });
var h = t({ '6a': true });
デモ: http: //jsfiddle.net/ambiguous/hBhfu/
テンプレート関数を呼び出すときに、手動でラップすることもできます。
t({ v: { '6a': true }});
この場合、上記と同じテンプレートを使用します。
デモ: http: //jsfiddle.net/ambiguous/8AZKw/