我需要知道在一个ext formPanel中是否存在一个boxComponent才能采取某些行动......有什么办法可以知道吗?这样的事情:
if(getElementById("boxId") != 'undefined' ){
alert('exists');
}
Run Code Online (Sandbox Code Playgroud)
Bri*_*kau 16
大多数人使用的常见模式是:
var myBoxCmp = Ext.getCmp('cmpId');
if(myBoxCmp){
myBoxCmp.doSomething();
}
Run Code Online (Sandbox Code Playgroud)
元素相同:
var el = Ext.get('elId');
if(el){
el.doSomething();
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用类似的方法Container.findById,但如果您有一个id(假设它是唯一的,应该是它),只需使用getCmp.
编辑:自这个原始答案已经过去了好几年,现在getCmp通常不赞成代码气味,应该在应用程序中避免使用(促进全局引用,通常表示在需要时设计不佳).通常最好使用控制器引用(如果使用MVC)或各种ComponentQuery或Container方法来引用相关组件(例如down,child,getComponent等)
您可以使用Ext.get('boxId')。null如果该对象不存在则返回并返回一个Ext.Element对象。
不过使用getElementById可能会快得多。您对此有什么具体的反对意见吗?
| 归档时间: |
|
| 查看次数: |
21682 次 |
| 最近记录: |