2011-02-20 13 views
14

jqueryテンプレート内に新しい変数を定義することは可能ですか? 私は公式のjqueryテンプレートのドキュメントを読んだが、これについては何も見つかりませんでした。 {{ var xxx=123 }}のようなものを試しましたが、動作しませんでした。 最後に、私は私が「ドン...jqueryテンプレート内に新しい変数を定義する

+0

にあなたの質問は良い答え:) – merlinbeard

答えて

19

${$item.xxx=123,""}

以降

$item.xxx

を使用しますが、私はそれが最善のアプローチではありません確信しているかを実行してハックを使用しています$ itemアプローチをするのはあまりにも悪いと思います。これはoptionsパラメータを介して$ .tmplに渡される変数を探す場所と一致しています。

小さなチップhereに基づいて私が使った別のアプローチは、実際には "var"テンプレートタグを定義することです。

ちょうど行います。ここでは、カスタムのjQueryテンプレートタグで、

また
{{var xxx=123}} 
... 
<div>${xxx}</div> 

素敵なブログ記事を:

$.extend($.tmpl.tag, { 
    "var": { 
     open: "var $1;" 
    } 
}); 

次に、あなたのようなあなたのテンプレートでそれを使用することができますhttp://blog.sterkwebwerk.nl/2010/12/15/custom-jquery-template-tags-1/

+3

だったためにおそらく '$ .extend($。tmpl.tag、{" setvar ":{open:" $ 1; "}}); ' – Gavin

2

することができますevalタグ付きjqueryテンプレートを拡張する

$.extend($.tmpl.tag, { "eval": { open: "$1;"} }); 

{{eval var xxx = 123}} 
{{eval xxx += 23}} 
1

私が使用します。

${xxx=13, ""} 

し、私はサブでXXXを使用することができたり、同じテンプレート

+0

jquery.tmplはこれらの変数をグローバルコンテキストで作成します。 'xxx'はグローバル変数になります。 – Ikrom

関連する問題