如何在 dojox.grid._Builder 中覆盖 doResizeColumn。我不确定如何处理它,因为它是变量 dg._HeaderBuilder 中的一个方法。任何帮助表示赞赏。
问问题
107 次
1 回答
0
如果您想为所有实例覆盖它,可以使用dojo/aspect
's来完成around()
(有关更多信息,请参阅参考指南),如下所示:
define(["dojo/aspect"], function(aspect) {
aspect.around(dojox.grid._builder, "doResizeColumn", function(originalDoResizeColumn) {
return function(/* needs the original signature(params) of the original doResizeColumn */) {
// Your code here
/* you could call the original doResizeColumn (which you 'kinda override' here) anytime if you want just here
* originalDoResizeColumn(...);
*/
// and even do sth. after it.
};
});
});
编辑:
对于 dojo V1.6
,这有点实验性,但您可以尝试一下:
dojo.require("dojox.lang.aspect");
var aop = dojox.lang.aspect; //define the namespace...
aop.advise(dojox.grid._Builder, 'doResizeColumn', {
around: function( /*originalparameters*/ ) {
// your code here
// the original coll looks as sth. like the following i dunno exactly
aop.proceed( /*fitting params*/ );
// some other code after it maybe...
}
});
查看这个有趣的博客条目或此类文档以dojox.lang.aspect
获取更多信息。也许dojox.lang.aspect.advise
'sbefore
会更好地满足您的需求。请参阅上面的链接。希望这可以帮助。
于 2012-12-05T10:49:33.997 回答