首页 > 代码库 > ExtJs4学习(四):Extjs 中id与itemId的区别
ExtJs4学习(四):Extjs 中id与itemId的区别
为了方便表示或是指定一个组件的名称,我们通常会使用id或者itemId进行标识命名。(推荐尽量使用itemId,这样可以减少页面唯一标识而产生的冲突)
id:
id是作为整个页面的Component的唯一标识,这也意味着在整个页面中只允许有唯一一个名称的id,同时这里的Component的id也将变为element中的id,所以如果出现了两个,页面将会出现崩塌变形等等不可以想象的问题。
而作为一个组件是必须有自己的唯一标识(id)的,在没有设置Component的id的时候系统将自动为组件添加id
itemId:
itemId是用于container底下的元件的,这也说明itemId只是一个局部的元件标识名称,在全局上是不需要遵循唯一性的。
从上面的叙述中可以看出一些使用上需注意的地方
若你要取得相关的Component 若是属于container 请设置id
若是只属于某个container 底下的元件,请设置itemId;某些情况下当然你也可以连同id 一起设置,比如需要改变css style,除此之外itmeid 还是优先的选择
getCmp 以及getComponent 是不一样的,使用上必须注意,必须搭配id 以及itemid 使用
var c = new Ext.panel.Panel({ height: 300, renderTo: document.body, layout: 'auto', items: [ { itemId: 'p1', title: 'Panel 1', height: 150 }, { itemId: 'p2', title: 'Panel 2', height: 150 } ] }) p1 = c.getComponent('p1'); p1 = c.child('#p1'); p2 = p1.ownerCt.getComponent('p2'); p2 = p1.ownerCt.child('p2');
p1,p2中的itemid换成id,用p1 = c.child(‘#p1‘)方式获取; 同样也是可以获取到的,但肯定不合适,
ExtJs4学习(四):Extjs 中id与itemId的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。