我定義的下列類擴展Ext.view.View:ExtJS - 如何將組件配置選項傳遞給XTemplates?
Ext.define('Aft.view.comments.CommentsList', {
extend: 'Ext.view.View',
xtype: 'comments-list',
parameter: false,
tpl: new Ext.XTemplate(
'<tpl for=".">',
' <div class="comment">',
// some code here
' <div class="fault">',
' <tpl if="this.parameter">',
// some code also here
' </tpl>',
' </div>',
' </div>',
'</tpl>',
{
strict: true,
// other methods and fields
}),
initComponent: function() {
this.config = Ext.apply({}, this.config);
this.tpl.config.parameter = this.config.parameter;
this.callParent(arguments);
}
});
正如你所看到的,我想從組件外傳遞一個布爾參數XTemplate它裏面。我正在嘗試這樣做,因爲組件在3個不同的地方使用。其中之一,我希望它看起來有點不同(只是沒有一個div)。我發現參數化的XTemplate會是一個很好的解決方案,但我不能強制它工作。我創建的組件是這樣的:
items: [
{
xtype: 'comments-list',
parameter: false
}
]
而且不管是什麼,我把作爲參數,我把在配置看來我的自定義類的其他實例之間共享的一切。因此,無論是每個評論列表的參數設置爲true,或每個都設置爲false。我顯然錯過了一些東西,但似乎這個話題也給其他人造成了困惑。儘管我沒有找到解決這個問題的正確方法。我已經嘗試了各種與config,factoryConfig和變量直接在類定義中的組合,但似乎沒有任何工作。
因此,我將是一個解決方案非常感激,或至少一個寶貴的鏈接博客文章或文檔。非常感謝你提前。
如果是相關的,我使用ExtJS的6經典。
完美的作品,非常感謝!現在我理解ExtJS類模型的方式更好,很好的解釋。 :-) –