Ext使用摘要

本文回顾了Ext.js框架的关键知识点,包括事件函数传递、方法重写、面板组件使用、布局管理、基本方法和组件交互。重点讲解了如何重写事件、组件定制和利用内置API进行操作,适合深入理解Ext应用的开发者阅读。

回顾ext知识。

pr是ext的感悟简称。

后期能力的提升是看自己脑中有多少ext的有效组件。

Q:事件函数的那些值,调用时都是怎么带进去的?

Pr:那些值是ext已经制定好的,搭上DOM之后,属性直接到达。记住并使用。

最重要的是解决问题的思路和逻辑,那些框架的关键字和内置方法是基础。

一、方法重写

pr:可以重写意味着父类事件上有判断fireEvent是否为ture,如果有,子类订阅后会先判断是否激活。

pr:ext的重写是上下代一块修改。子类订阅新的事件之后,在父类激活。

pr:订阅的格式panel.on("mit",function(){})。panel是新创建的对象。me.fireEvent("mit");表示激活mit事件。订阅的对象要在父类模板上做激活。

pr:定制化对象功能的需求。知道了重写方法的要求。对象用on定义函数,在父类的方法上fireEvent激活,这就是重写了。如果不非要重写,也可以写其他的函数,订阅之后,就可以在本对象内激活使用了。

pr:重写模板的方法。重写关闭方法,也有beforeclose,关闭之前写方法。

二、面板和组件

ext比jquery多了UI组件,都相当于CSS了。有了UI组件,ext基本不写html了。但是要引入ext指定的风格css。可以拼凑出页面。因为是拼凑,所以要有容器装着。

弹窗只要ext里引一个ext的panel,里面正常写页面,出来就是弹窗里页面,按钮导出列表都正常写。render to填充到。listen监听,handler点击。items表示组件。panel额外多了tools工具栏。面板组件:标题,主体,工具条。ext的类名和xtype不一样。一个创建决定属性,另一个单独起名字。

pr:隐藏tab页签,直接页签名点hide(),每个页签内置隐藏函数。

pr:items的bind函数,除了函数名,必须要有this,这样数据才会进来。而且函数名后不能加括号。

pr:this指的是本页的数据,有的函数需要传,有的函数可以直接获取本页的。

pr:ext得到的down值,是一个组件me.down("#LG0703")。而me.down("#LG0703").getValue();才是得到的数值。

pr:一个是ext函数,整个就是在定义ext,相当于单纯的js函数。一个是ext组件,ext的方法操作dom元素。

pr:在创建ext时放入的参数,此ext可以直接this出来。

Note:隐藏之后再销毁。单纯的销毁变成空白,先隐藏掉,然后再度调时,刷新数据。

pr:ext的面板销毁掉之后,再次更新时会重新创建并获取数据。

pr:ext的panel组件完成之后需要用reload,不然面板会重复叠加。也可以用工厂模式,只使用一个对象。

pr:ext组件可以直接得到选中人的所有数据。数据的来源是初始渲染时,SQL放在select后面的。var recordData = tabPanel.GetSelections();

pr:Ext.getCmp("");可以取到整个系统中的ext组件,ext组件要内置id属性。整个系统的ext都是唯一的。所以,不管哪个页面调组件,都可以调到,而且其中的所有数据都一块过来了。每新建一个ext组件,系统都会默认给一个id,个人也可以直接设置。

pr:Ext.getCmp("");用的是ext组件的id,而不是名字。

pr:ext的布局用的是region属性。

pr:ext绑定点击方法,方法里定义面板,最后reload再show。

pr:方法其实就是一段代码。

pr:jQuery定位是Dom操作工具类,ext的定位是完整封装,隔离Dom操作,直接操作组件。

pr:传进mybatis里的参数,直接是params的属性。赋属性时直接点属性名,直接新建并赋值。

pr:得到被选中人员的记录。this.getSelectionModel().getSelection();

pr:把panel全屏显示。width : Ext.getBody().getWidth(),

                  height : Ext.getBody().getHeight()

pr:一个a链接标签,里面指向的链接可以是一个组件中的方法。getcmp里面是本组件,因为里面给的id是this的。

var htmlFormat = '<a style="cursor:pointer" href="javascript:Ext.getCmp(\'{0}\').editRecord(\'{1}\',\'{2}\');">{3}</a>';

var html = Ext.String.format(htmlFormat, this.id, r.data.NUM,r.data.A00, v);

三、基本方法

pr:eval表示把里面的字符串变成类,相当于java的反射。

pr:方法本身里的panel,需要额外赋值。

pr:undefined表示没有值,没有取到。

pr:ext的方法,如果本js没有,那就是其他高层调用的。

pr:左边点击右边出效果,是在中心panel中设置了监听函数套回调函数。

pr:树状的结构是tree决定的,有leaf节点和root节点。

pr:ext定义函数时,如果是在init里则需要用定义var函数名加等于function,表示一个对象。在init外直接定义的函数不需要,直接名字加冒号function,表示一个方法。

pr:数据库的查询,如果是字符串类型的数字,一定要加引号。

pr:init初始化函数,如果还想调用其他的非相关函数,需要this.callparent()。再得到组件后执行另一个函数。

pr:panel.show()时,还需要先重新加载this.reload。

pr:java得到的数据返回到vm里,vm收集到数据不是直接跳转到js,而是等着js调用。

Q:ext的每个函数都有this,me=this之后,me代表着本函数所有的数据。

pr:函数中的this,表示此函数调用时被传进来的参数。如果没有看见参数,只是忽略不写了,实际上是调用方给的所有数据,都会变成this。

pr:me可以直接得到session。me里直接包含的数据,可以直接点出来。

pr:ext得到的数据不用一直用点点出来,可以直接用get方法,直接取到data中的数据。record[0].get("NRZRY0101")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值