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自带的动画系统,要做到这样的话,需要这样 ...
随机推荐
- easyui combotree不让父级选中
easyui combotree不让父级选中? <ul id="combotree"></ul> $(function () { $("#comb ...
- Python批量处理CSV文件
#encoding: utf-8 __author__ = 'DELL' import csv import glob import datetime import sys import os rel ...
- Lisp分配给保护的符号…
在进行调试时,弹出"分配给保护的符号:pf,是否进入中断循环",但似乎不会影响结果. 明经版主解译说是:给受保护的符号重新赋值了,所以有此提示,此提示仅在打开了vlide 编辑器才 ...
- 谈谈node(1)
node的出现,给了全栈工程师,一个绝佳的机会. node给我们带来的是更低的硬件成本来完成更高需求以及用户体验感,一台8G内存服务器如果用传统架构,那么最多可驱使4000台同时访问,如果 ...
- ADS ARM 汇编和GNU ARM汇编
Linux/Unix内核源代码用的编译器是GCC,而GCC采用的是AT&T的汇编格式,这与ADS下使用的汇编格式是不同的. 两种汇编格式的部分对比如下: GNU ARM汇编 ADS ARM汇编 ...
- android 上线流程
1.首先打开安卓市场官网,在右上角找到注册按钮,先注册成为开发者. 2.而后点击“开发者”进入“开发者中心”页面(也可从网页下方的“开发者入口”进入). 3.选择“发布软件”选项,依次上传创建的APP ...
- 几款Android开发人员必备小工具
在这里我介绍一下我常常在Android Studio里面使用的小工具吧,这些工具都能够在plugin里面搜索到. (当然了哈.我也是从网上找的.用着挺方便的,在这里总结一下) Gsonformat: ...
- Ubuntu 12.04解决重启后resolv.conf清空的问题
这跟以前用RHT系的 情况是完全不一样的: 在google上搜了一下,发现这里面还真有些奥妙: 1 /etc/resolv.conf 其实是一个Link 它其实指向的是 /run/resolvconf ...
- pat1040:有几个PAT
https://www.patest.cn/contests/pat-b-practise/1040 #include "stdio.h" int main() { int p = ...
- iOS同一项目多个Target的快速实现方法 - 两种使用场景详解
我们项目中,默认建好是只有一个target的,但是,一些场景中,多target能帮助我们更好的使用项目. 场景1: 同一项目,一般会分不同环境:开发环境.测试环境.正式(生产)环境. 这就涉及到一个请 ...