extjs中组件监听器里面的回调函数说明
近期在看项目源代码的时候发现了例如以下代码,当中_searchSupplierStore是JsonStore对象
_searchSupplierStore.on('beforeload',function(thiz,options){
thiz.baseParams["cusCode"]="%"+Ext.getCmp('id_cusCodetext').getValue()+"%";
thiz.baseParams["cusType"]=Ext.getCmp('id_cusTypetext').getValue();
thiz.baseParams["addr"]= "%"+Ext.getCmp('id_addrtext').getValue()+"%"
});
看到这里,当中的function(thiz,options)百思不得其解,thiz,和options是什么呢,各种search项目代码,发现仅仅有如此写法,没有相关说明。
经过查询以及与别人探讨,最后最终明确这玩意是什么东西了。
JsonStore的on函数里面有监听器函数handler,详细写handler的时候要依据store所触发的事件去实现。比方beforeload事件,store的beforeload事件传递两个參数。所以handler的实现里面也会有两个參数,而handler的实现函数里面的參数是形參,所以名字随便取,而且由于JavaScript是弱类型语言在声明变量时 不须要注明变量类型。所以形參会出现仅仅有乱七八糟的标志符的样子(比如function(thiz,options)),不像编译语言的函数參数还要声明类型。
on( String eventName, Function handler, [Object scope], [Object options] )
beforeload : ( Store this, Object options )
this : Store
options : Object
The loading options that were specified (see load for details)这里面有个链接,发现就是store的config options
总结一下。或许总的原因还是自己没有从事件发生与处理机制去思考。去查找吧。一般都是事件回调函数绑定在某个对象上(即监听器里面的回调函数),该对象的详细事件发生事。会调用回回调函数,同一时候也回把事件发生事的一些“现场”(以參数形式)传递给回调函数。
在extjs中这个发生事件的现场要去对象的事件函数里面查询。这样才干在详细回调函数中写正确相应形參。
java awt中的事件机制是传递一个ActionEvent对象将现场传递。
总结是一种态度,更是一种进步
extjs中组件监听器里面的回调函数说明的更多相关文章
- 使用C++11的function/bind组件封装Thread以及回调函数的使用
之前在http://www.cnblogs.com/inevermore/p/4008572.html中采用面向对象的方式,封装了Posix的线程,那里采用的是虚函数+继承的方式,用户通过重写Thre ...
- JavaScript ES7 中使用 async/await 解决回调函数嵌套问题
原文链接:http://aisk.me/using-async-await-to-avoid-callback-hell/ JavaScript 中最蛋疼的事情莫过于回调函数嵌套问题.以往在浏览器中, ...
- extjs中第一次访问有效,第二次访问出现部分组件无法显示的,动态改变组件的label值的方法,ExtJs中组件最好少使用ID属性(推荐更多使用Name属性)
在公司做的一个OA项目中,曾经就遇到了这样的一个问题:(我是在jsp中的div中将js render到div中去的)第一次访问此界面的时候,formpanel上的组件能正常显示,不刷新整个页面的前提下 ...
- jQuery中ajax方法无法执行回调函数问题
最近遇到一个问题,发现使用jquery的ajax方法时,回调方法无法执行,而使用$.load()方法时却能正确返回数据.经过长时间调试最终发现是自己粗心大意,原来后台返回的是json数据,而返回的数据 ...
- 解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)
由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...
- C#中委托、事件和回调函数的理解
在C#中我们经常会碰到事件,尤其是在WPF或者WinForm中,窗体加载.或者点击一个按钮,都会触发事件.实际上,事件是对委托的封装.如果不进行封装,让委托暴露给调用者,调用者就可以把委托变量重新引用 ...
- Opengl中的GLUT下的回调函数
void glutDisplayFunc(void (*func)(void)); 注册当前窗口的显示回调函数 参数: func:形为void func()的函数,完成具体的绘制操作 这个函数告诉GL ...
- 详解C#中通过委托来实现回调函数功能的方法
委托:类型安全的指向函数的指针 使用步骤 1:声明一个委托 delegate string DelString(string s) 2:定义一个委托变量 DelString del = new Del ...
- 使用代码给Unity中的动画片段绑定回调函数
在制作动作游戏的时候,需要播放许多动画,同时还有个需求,那就是动画播放到一定时间时,给一个回调函数,好做对应的状态变更, 我查了一下,发现如果使用的是unity自带的动画系统,要做到这样的话,需要这样 ...
随机推荐
- [Android] Content provider, ContentResolver
Content provider的作用: Content providers manage access to a structured set of data. They encapsulate t ...
- 记录一下自己常用的maven工程的pom.xml模板
1. 带有hadoop-CDH4.2.1的pom.xml模板 <?xml version="1.0" encoding="UTF-8"?> < ...
- 总结js(1)
已经一个月没敲代码了,工作难找,挺烦. 先总结一下javascript吧. 1.js概述 2.语法结构 3.类型.值和变量 4.表达式和运算符 5.语句 6.对象 7.数组 8.函数 9.类和模块 1 ...
- 每日一句英语:怎样回答美国人的How is it going问候语?
和中国人"吃了吗"是一个性质,本质上仅仅是个话题的起始点,而不是真的想知道你吃了没有. 美国人打招呼有几种方式: 不太熟的人:How are you? 一 般说 pretty go ...
- 1z0-052 q209_9
9: You are working on an instance started using the SPFILE. You want to move the Flash Recovery Area ...
- webpack 生命周期
1.插件 可以安装lifecycle-webpack-plugin 插件来查看生命周期信息. 2.webpack流程(生命周期图) 地址:https://img.alicdn.com/tps/TB1G ...
- Hat’s Words(字典树)
Problem Description A hat's word is a word in the dictionary that is the concatenation of exactly tw ...
- 解决/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决
原因是没有GLIBCXX_3..15版本,或是更高的版本. 一.查看并下载 32位系统: [root@localhost ~]# strings /usr/lib/libstdc++.so. | gr ...
- Knockout自定义绑定my97datepicker
/* my97datepicker 时间格式'yyyy-MM-dd HH-mm-ss' */ ko.bindingHandlers.datetimes = { init: function (elem ...
- s[-1]和s[len(s)-1]
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32 Type "copyr ...