zoukankan      html  css  js  c++  java
  • ExtJs组件之间的相互访问,访问机制

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

    2013717

    14:10

    <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来获得组件对象

     

     

     

     

    另一种子元素访问父元素的方法:

    handler中使用this.ownerCt.findParentByType("XXXX") XXXX表示名称:

            handler: function(){

                var grid = this.ownerCt.findParentByType("wagonscollectrgrid");

                grid.delAssignWagon();

            }

     

     

    还可以通过

     win.findByType("textfield")[7]

    可以通过findByType的形式来获得,该方法获得的是一个数组,可以通过下标的形式来获取对象,双引号之间的是xtype对应的内容,

     

    已使用 Microsoft OneNote 2013 创建。





  • 相关阅读:
    BUCK/BOOST电路原理分析
    boost升压电路原理
    NPN/PNP和N沟道/P沟道负载的接法
    常用电源芯片记录
    LDO和BUCK降压稳压器对比
    some nets were not able to be matched
    Altium PCB布局时快速摆放元件的技巧
    树莓派+android things+实时音视频传输demo之遥控小车
    野狗产品与价格
    librtmp将本地FLV文件发布到RTMP流媒体服务器
  • 原文地址:https://www.cnblogs.com/babyhhcsy/p/3434661.html
Copyright © 2011-2022 走看看