最近使用extjs(前端的JavaScript框架),它的优点是良好的表格,表单等控件,界面美观,适合OA类项目的数据展示。
在实际的开发中,不同的panel之间需要进行传值,子panel面板与父panel面板之间的参数传递,可以将整个panel作为参数进行传递,随着结构的复杂,会出现多个panel间的传值,相对比较混乱,因此,需要借助监听和触发来传递所需要的参数。记录下来,方便以后查看。
遵循的原则是:谁创建谁监听,在创建的地方添加监听。
下面举例说明一下如何实现监听和触发。
第一步、fireEvent方法添加触发
// me代表着作用域范围
var me = this;
//第一种:往上一级面板传递参数 transData是自定义传递的名称 nodeData表示需要传递的参数
me.fireEvent("transData",nodeData);
//第二种:继续往上传递
me.fireEvent("transData",function(
me.fireEvent("transToData",nodeData);
)
});
第二步、添加监听
格式为:panel.on(“触发的方法”,调用的方法,this);
// me代表着作用域范围 监听transData的方法
var panel = Ext.create("ext.panel");
panel.on("transData",this.nodeClick,this);
//调用触发的方法
nodeClick : function(){
var me= this;
Ext.Msg.alert("提示","触发方法添加成功!");
},
博客参考:
【1】W3Cschool:https://www.w3cschool.cn/extjs/extjs_overview.html