2017-04-26 3 views
1

たとえば、Ext.button.Buttonという要素を拡張すると、テンプレートにパラメータを渡す方法がわかります。私はそうそうする:DataViewテンプレート引数を設定する方法

renderTpl: '...{custom_parameter}...', 
getTemplateArgs: function() { 
    return { 
     custom_parameter: "Some value" 
    } 
} 

それは良いです。しかし今、私はExt.DataViewを拡張するときに同じトリックをしたい。

Ext.define('Ext.ux.CustomComponent', { 
    extend: 'Ext.DataView', 
    ... 
    tpl: [ 
     '<div>{custom_parameter}</div>', 
     '<tpl for=".">', 
      ... 
     '</tpl>' 
    ] 
    ... 

私はDataViewは、この素敵なgetTemplateArgsが欠落していることを参照してください。私はそうのように定義されたいくつかのテンプレートがあるとします。だからこれを達成するための代替方法は何ですか?

答えて

1

オプションは、initConfig/constructorでテンプレートを初期化して、dataviewのconfigオプションをテンプレートに渡すことができます。

templateArgs: { 
    custom_parameter: "Some value" 
},  
initConfig: function() { 
    this.tpl = new Ext.XTemplate(
     '<div>{[this.templateArgs.custom_parameter]}</div>', 
     '<tpl for=".">', 
       ... 
     '</tpl>', 
     { 
      templateArgs: this.templateArgs 
     } 
    ); 
} 
+0

ええ!私はコンストラクタの助けを借りてこれを実装することができました。ありがとう! – Jacobian

関連する問題