Javascript extjs 4.1.3未执行Ext.override列
试图覆盖函数:Javascript extjs 4.1.3未执行Ext.override列,javascript,extjs,overriding,Javascript,Extjs,Overriding,试图覆盖函数: Ext.override(Ext.grid.column.Column, { prepareData: function(data, rowIdx, record, view, panel) { //more code... 但是当一个网格被加载到屏幕上时,这个函数不会被执行 相反,执行的函数是其父函数的prepareData函数: Ext.grid.header.Container 有些人知道为什么会这样 谢谢这基本上是一
Ext.override(Ext.grid.column.Column, {
prepareData: function(data, rowIdx, record, view, panel) {
//more code...
但是当一个网格被加载到屏幕上时,这个函数不会被执行
相反,执行的函数是其父函数的prepareData函数:
Ext.grid.header.Container
有些人知道为什么会这样
谢谢这基本上是一个继承问题。。。列继承自具有此方法的Header.Container类(因此列类也具有此方法),但实际上从未为列类调用此方法 原因是网格渲染系统在4.1.x中的工作方式是一次渲染一整行(而不是一列)。这意味着Extjs团队(在4.1.x中)没有在单个列上使用prepareData函数,因此该函数永远不会在列级别使用
我确实相信渲染系统在以后的版本中被更改为单独的列模型,这意味着该方法可能在4.1.x版本中用于将来的使用。这基本上是一个继承问题。。。列继承自具有此方法的Header.Container类(因此列类也具有此方法),但实际上从未为列类调用此方法 原因是网格渲染系统在4.1.x中的工作方式是一次渲染一整行(而不是一列)。这意味着Extjs团队(在4.1.x中)没有在单个列上使用prepareData函数,因此该函数永远不会在列级别使用
我确实相信渲染系统在以后的版本中被更改为单独的列模型,这意味着该方法可能在4.1.x版本中用于将来。我试图覆盖列中的函数的原因是对所有列的文本进行html编码/解码,如果我重写parents prepareData函数,那将是一大块代码,我正在寻找一个更简单的解决方案。有什么想法吗?是的,但它将适用于特定的cloumn,我希望它适用于我网站中的所有cloumn,而不仅仅是我使用渲染的cloumn。我试图覆盖列中的函数的原因是对所有列的文本进行html编码/解码,如果我重写parents prepareData函数,那将是一大块代码,我正在寻找一个更简单的解决方案。有什么想法吗?是的,但它将适用于特定的cloumn,我希望它适用于我网站中的所有cloumn,而不仅仅是我使用渲染的cloumn。