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

QQ登录

只需一步,快速开始

查看: 1439|回复: 3

[处理中3] 关于content onactive事件中页面html锁定的问题

[复制链接]

8

主题

33

帖子

95

积分

初级会员

Rank: 2

积分
95
QQ
发表于 2016-8-20 19:58:54 | 显示全部楼层 |阅读模式
本帖最后由 sy8718 于 2016-8-20 20:09 编辑

我有一个contents页面,包含3个content,在每个contect的onactive事件中,放置了refreshdata()方法。因为我的refreshdata方法会连接服务器获取数据,当网络速度慢的时候会需要几秒钟的时间,在这几秒钟内我想显示loading并且锁定页面。我写了show loading方法,用于先显示一个半透明蒙版与Loading图标,hide loading方法隐藏。在几乎全部情况下都可以工作,除了在content的onactive事件中。我放置了showloading在换取数据之前,我也使用alert,发现我Loading元素的css已经被改变了,但是页面上却不会显示,只有当数据加载完了之后,改变了的css才会起作用。请问这是为什么?
还有加载list组件数据的时候也会锁定html,只有当数据加载完才会应用css变化
发表于 2016-8-22 14:59:46 | 显示全部楼层
类似于popOver组件,要求必须是异步请求才会生效:
http://bbs.wex5.com/forum.php?mo ... 4&pid=165185448
因为页面渲染在同步的代码中没有时机执行!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

8

主题

33

帖子

95

积分

初级会员

Rank: 2

积分
95
QQ
 楼主| 发表于 2016-8-22 19:41:37 | 显示全部楼层
liangyongfei 发表于 2016-8-22 14:59
类似于popOver组件,要求必须是异步请求才会生效:
http://bbs.wex5.com/forum.php?mod=redirect&goto=findp ...

页面锁定是因为我在customDataRefresh里使用了同步ajax请求,但我试了下异步,如果异步的话,数据加载不了
回复 支持 反对

使用道具 举报

8

主题

33

帖子

95

积分

初级会员

Rank: 2

积分
95
QQ
 楼主| 发表于 2016-8-22 20:01:25 | 显示全部楼层
liangyongfei 发表于 2016-8-22 14:59
类似于popOver组件,要求必须是异步请求才会生效:
http://bbs.wex5.com/forum.php?mod=redirect&goto=findp ...

补充下,使用list或者dropdown之类绑定data数据的刷新没有问题,但是如果返回的只有一行数据,然后将数据绑定到一个一个textbox里,就会出现问题,数据会绑定不上,然后所有textbox被disabled. 异步.png 异步加载,数据加载不了,且textbox全部被disabled.

同步.png 同步加载,数据可以正常加载


以下是我加载数据的代码

Model.prototype.GeneralDataCustomRefresh = function(event){                      
        var me=event.source;
        var userId=window.localStorage.UserId;
            var token=window.localStorage.Token;
                var User={UserId:userId, Token:token};
                utility.ShowLoading();               
                $.ajax({
            type: "Post",
            url: utility.GetBaseUrl()+"/api/User/GetInfo",
            data: User,            
            dataType: "json",
            async:false,
            success: function(data){
                utility.HideLoading();
                if(data.IsSuccess)
                {
                        var user=data.User;
                        user=utility.JsonParse(user);      
                        me.loadData(user,false);                       
                }
                else{                        
                }                 
            },
            error:function(){      
                utility.HideLoading();            
            }
        });               
        };       


       Model.prototype.GeneralContentActive = function(event){       
            this.comp("GeneralData").refreshData();
        };

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 03:51 , Processed in 0.067411 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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