起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1630|回复: 3

[处理中3] onCustomRefresh 与 onParamsReceive事件的次序问题

[复制链接]

25

主题

55

帖子

131

积分

初级会员

Rank: 2

积分
131
QQ
发表于 2016-8-30 11:42:08 | 显示全部楼层 |阅读模式
我在Model的onParamsReceive事件中接收了几个参数值,想作为列表的查询条件再传到后台去.
现在的问题是:值接收到了,也保存到成员属性中了,但在data组件的onCustomRefersh事件中获取不到这些值,都是空的。
我想请教一下这两个事件的次序是什么样?


        var thisObject;
        var name;
        var id;
        var action;
        var year;
        Model.prototype.todoDataCustomRefresh = function(event){
                baas.sendRequest({
                        "url" : "/kpi",
                        "action" : action,
                        "async" : false,
                        "params" : {
                                "name" : name,
                                "id" : id,
                                "userid" : localStorage.getItem("userid"),
                                "year" : year,
                                "limit" : event.limit,
                                "offset" : event.offset,
                                "columns" : baas.getDataColumns(thisObject.comp("todoData"))
                        },
                        "success" : function(data) {
                                thisObject.comp("todoData").loadData(data,false);
                        }
                });
        };

        Model.prototype.modelParamsReceive = function(event){
                name = event.params.name;
                id = event.params.id;
                action = event.params.action;
                year = event.params.year;
//                baas.sendRequest({
//                        "url" : "/kpi",
//                        "action" : action,
//                        "async" : false,
//                        "params" : {
//                                "name" : name,
//                                "id" : id,
//                                "userid" : localStorage.getItem("userid"),
//                                "year" : year,
//                                "limit" : event.limit,
//                                "offset" : event.offset,
//                                "columns" : baas.getDataColumns(thisObject.comp("todoData"))
//                        },
//                        "success" : function(data) {
//                                thisObject.comp("todoData").loadData(data,false);
//                        }
//                });
        };

65

主题

315

帖子

851

积分

高级会员

Rank: 4

积分
851
发表于 2016-8-30 12:14:26 | 显示全部楼层
可以加debugger运行一下看看啊
回复 支持 反对

使用道具 举报

25

主题

55

帖子

131

积分

初级会员

Rank: 2

积分
131
QQ
 楼主| 发表于 2016-8-30 13:12:57 | 显示全部楼层
   试了,.todoDataCustomRefresh先运行,
现在是两个事件 中都进行加载数据的处理了,但是在todoDataCustomRefresh中判断了一个相关变量是否为undefined,
但总觉得得这样做有些难看,我相信我不是第一个遇到这个问题的人,应该有更妥善的解决方案的,
回复 支持 反对

使用道具 举报

发表于 2016-8-30 14:21:41 | 显示全部楼层
bhjsj 发表于 2016-8-30 13:12
试了,.todoDataCustomRefresh先运行,
现在是两个事件 中都进行加载数据的处理了,但是在todoDataCusto ...

data组件的autoLoad设置为false,然后再onParamsReceive 事件中调用data.refreshData()来刷新data组件!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 08:00 , Processed in 0.096769 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表