2011-11-11 9 views
1

私はextJs4を初めて使用しています。テンプレートの仕組みを理解しようとしていました。ExtJS4テンプレートパラメータ

私の質問は、どのように関数をテンプレートにパラメータとして渡すことができますか? たとえば、私は 'a'要素を持っていて、私のextjsカスタムクラスで定義されているカスタム関数を使って 'onClick'イベントを処理したいのです。

私ができることは、単純なアラートを持つパラメータとして関数foo()を渡すことです。 問題は、アプリケーションの読み込み時にアラートがトリガされますが、その後に要素をクリックすると何も起こりません。要素の検査で、私はそのonclickハンドラが空文字列であることを知りました。

ありがとうございました。

+2

書きたいコードの例を投稿したい場合があります。 –

答えて

4

テンプレートは、単にデータのプレゼンテーションのために、ユーザとの対話を処理するための任意のロジックは、ここでは、含む要素またはそのチャイルズで行う必要がありますされているテンプレートを使用する方法である:

Ext.onReady(function(){ 
    //Some dummy data 
    var data = { name: 'Jerónimo', age: 37 }; 

    // Declare a template to use, very simple. 
    var tpl = new Ext.XTemplate(
     '<H1>Template sample:</H1>', 
     '<tpl for=".">', 
     '<p>Name: {name}</p>', 
     '<p>Age: {age}</p>', 
     '</tpl>' 
    ); 

    // Apply the template to our div 
    tpl.overwrite('myDiv', data); 

    // Control the click event on the div 
    Ext.get('myDiv').on('click', function(){ alert('Click'); }); 
}) 

あなたが作業を確認することができますここの例:JsFiddle Ext 4.0.7 template example

希望のテンプレート使用を理解するのに役立ちます。

+0

ありがとう、それは助けた。私は、ExtJSがかなり大きいと思っているから、あなたの助けをもう一度感謝するので、私はかなり理解していることを理解しています。 – Radu