ExtJs组件之间的相互访问,访问机制

   

<script type="text/javascript">

    Ext.onReady(function(){

            var tempWindow = new Ext.Window({

                title:"登陆",

                layout:"form",

                plain:true,

              

                items:[

                    {xtype:"textfield",fieldLabel:"用户名"},

                    {xtype:"textfield",fieldLabel:"密码"}

                ],

                buttons:[

                    {text:" "},

                    {

                        text:" ",

                        handler:function(){

                            alert(this.text);//这里的thishandler处理该组件的对象,可以通过this来获得配置的相关属性

                            //个人暂时的理解为this取消这个按钮,他的父级是buttons,在父一级才是window窗口

                            //注意items是个属性,并不是个数组,如果想访问的话就必须使用itemAt来定位那个组件

                        //  alert(this.ownerCt.ownerCt.items[0].getValue());这种写法在ExtJs3.2中是错误的

                            alert(this.ownerCt.ownerCt.items.first().getValue());//获得items里第一个表单中的值

                            alert(this.ownerCt.ownerCt.items.itemAt(1).getValue());//获得items里第二个表单中的值

                            alert(this.ownerCt.ownerCt.title);//获得window的名称

                            alert(this.ownerCt.ownerCt.buttons[0].text);//获得button中的值

                        }

                    }

                ]

            });

            tempWindow.show();

    });

</script>

   

  • 如果程序提供了this,那么该this是指的提供handler的对象,这里的this指的是button
  • This.ownerCt组件访问容器组件,这里可以同this.ownerCt.title可以放放window当中的属性
  • 如果想得到items对象,那么方法为:this.ownerCt.items,返回的是个集合MixedCollection,可以查看api得到更多的属性值
  • 如何获得items当中第一个元素呢,通过this.ownerCt.items.first().getValue()方法可以获得items里面第一个元素当中的值

   

问题:如何得到items当中两个输入框当中的内容呢?

this.ownerCt.ownerCt.items.itemAt(1).getValue()

   

   

   

  • 方法在button当中添加一个handler通过这里的this可以获得items,在通过items得到其中的值
  • This.ownerCt.items可以获得该上下文当中的items对象;
  • 通过该对象的first()方法可以获得姓名的表单和密码的表单对象,通过该对象的getValue方法来获得输入的值
  • itemsAt这个方法的起始值是从0开始的
  • 直接alert(temp)就可以了
  • 也可以使用Ext.getCmp()可以通过id来获得组件对象

   

   

   

   

   

   

   

转载于:https://www.cnblogs.com/babyhhcsy/p/3196302.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值