1

アンダースコアテンプレートで、名前以外に属性にアクセスする方法はありますか?「2a」という名前がありますが、最初の文字が数字であるため、直接参照できません。たとえば、これは機能しません。

            <input type="checkbox" name="6a"  <%= 6a ? "checked" : "" %>>

ありがとう!

4

1 に答える 1

1

問題のある属性の名前を変更する以外に、いくつかのオプションがあります。

アンダースコア_.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/

于 2012-08-17T00:41:06.703 に答える