如何遍历ExtJS应用程序中定义的所有类
在一个单页extjs6应用程序中,我需要扫描所有使用如何遍历ExtJS应用程序中定义的所有类,extjs,extjs6,Extjs,Extjs6,在一个单页extjs6应用程序中,我需要扫描所有使用Ext.define方法声明的类,并找到那些实现特定mixin的类。为了简单起见,让我们假设我感兴趣的所有类都已加载,并且按需加载机制已退出游戏 除了通过privateExt.ClassManager.classesproperty进行迭代之外,似乎没有其他方法了。有更干净的选择吗 无论如何,上面给出了类名列表。如何确定相应的类是否实现特定的mixin function getClassesByMixin(mixin){ var cla
Ext.define
方法声明的类,并找到那些实现特定mixin的类。为了简单起见,让我们假设我感兴趣的所有类都已加载,并且按需加载机制已退出游戏
除了通过privateExt.ClassManager.classes
property进行迭代之外,似乎没有其他方法了。有更干净的选择吗
无论如何,上面给出了类名列表。如何确定相应的类是否实现特定的mixin
function getClassesByMixin(mixin){
var classes=[];
Ext.iterate(Ext.ClassManager.classes,function(className,c){
if(c.prototype &&c.prototype.mixins && c.prototype.mixins[mixin]){
classes.push(className);
}
});
return classes;
}
对于特定的视图/控制器类,您想迭代吗?不,在大多数情况下,这些是从Ext.Base派生的通用类。谢谢,Theo。我自己也提出了几乎相同的解决方案。只是想知道为什么Sencha没有提供干净的反射API