学习sencha touch

EXT组件选择器:

1,获取一个单一的组件对象可以使用sencha touch中的get方法:Ext.getCmp(),这个方法是间接的调用了Ext.ComponentManager.get()方法;返回的是一个对象;

2,获取一个组件的集合可以使用Ext.ComponentQuery.query()方法,返回的是一个符合条件的组件集合;

1,query方法,中的查询条件跟jq的查询方法一致,id选择器,样式选择器等,值得一提的是:该方法可以自己定义选择器:

                         //定义一个筛选的方法
				Ext.ComponentQuery.pseudos.invalid = function(items){

					var i = 0, l = items.length, c, result = [];    
					for (; i < l; i++) {    
						if (!(c = items[i]).isValid()) {        
							result.push(c);            
						}        
					}
					
					//返回符合条件的组件集合    
					return result;
					
				};

		//使用前面构造的方法进行查询
		var invalidFields = Ext.ComponentQuery.query('field:invalid', myFormPanel);

 

3,组件的查询,也是讲究效率的,如果要查找一个容器中的组件,直接的调用query方法也是非常影响查询效率的,可以在查询的参数中添加一个查询范围:

	var btnRefresh = Ext.ComponentQuery.query('#btnRefresh', container);

简单一点的写法可以使用:

var btnRefresh = container.query('#btnRefresh');

 说到这里,就不能不提提Container类中用于查询组件的几个方法了。Container中的query方法、down方法、child方法和up方法,都是基于组件选择器而实现的组件查询方法,调用这些方法,可以很轻松地获取想要的组件。这里用一张表格列出这些方法的区别:

方法

查询范围

返回值

query

后代组件

所有符合条件的组件集合

down

后代组件

第一个符合条件的组件

child

子组件

第一个符合条件的组件

up

祖先组件

第一个符合条件的组件

容器的组件查询方法对比

猜你喜欢

转载自firepix.iteye.com/blog/1940736
今日推荐