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

QQ登录

只需一步,快速开始

查看: 2383|回复: 6

[结贴] baas异步请求后台数据,使用popover不起作用

[复制链接]

18

主题

81

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
发表于 2017-7-18 23:40:41 | 显示全部楼层 |阅读模式
你好,我使用baas请求后台数据,在请求前加载了popover,还特意在后台延迟了几秒再返回数据,但是前台好像一点反映都没有,没有弹出popover,不知道为什么呢?代码如下
  1.         Model.prototype.modelLoad = function(event) {

  2.                 popOver1 = this.comp("popOver1");// 请求数据并显示popOver组件
  3.                 popOver1.show();
  4.                 Enterprisedata = this.comp("data1");
  5.                 justep.Baas.sendRequest({
  6.                         "url" : "/jec/Appaction",// 目录名/服务名
  7.                         "action" : "GetIndex_Data",// 方法名
  8.                         "async" : true,
  9.                         "success" : function(data) {
  10.                                 if (!$.isEmptyObject(data)) {                       
  11.                                         //debugger;
  12.                                         if (!$.isEmptyObject(data)) {
  13.                                                 Enterprisedata.loadData(JSON.parse(data.enterprisedata));


  14.                                         } else {
  15.                                                 justep.Util.hint("查找不到设备信息");
  16.                                         }

  17.                                 } else {
  18.                                         justep.Util.hint("空数据");
  19.                                 }
  20.                         },
  21.                         error : function() {
  22.                                 alert("加载数据失败");
  23.                         }
  24.                 });
  25.                
  26.                 popOver1.hide();// 请求完成后隐藏popOver组件

  27.         };
复制代码
popover问题.png

popover设置如上图所示,谢谢
发表于 2017-7-19 10:00:48 | 显示全部楼层
  "async" : true,
使用popOver必须是 异步执行代码!,没问题
但是popOver.hide() 方法应该在请求 的 回调函数中执行才对!

而你直接在异步的代码中执行了!  请求还没发呢,
popOver 还没显示就已经隐藏了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

18

主题

81

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
 楼主| 发表于 2017-7-20 15:15:19 | 显示全部楼层
liangyongfei 发表于 2017-7-19 10:00
"async" : true,
使用popOver必须是 异步执行代码!,没问题
但是popOver.hide() 方法应该在请求 的 回调 ...

好的,谢谢,那样就是需要写在
"success" : function(data) {
    popOver.hide()
}

这里面是吧
回复 支持 反对

使用道具 举报

发表于 2017-7-20 15:25:23 | 显示全部楼层
kpcbk 发表于 2017-7-20 15:15
好的,谢谢,那样就是需要写在
"success" : function(data) {
    popOver.hide()

是的!你试试吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

18

主题

81

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
 楼主| 发表于 2017-7-21 15:51:42 | 显示全部楼层

你好,我加在了success回调函数里面了,但是好像也是没有效果呢,那个转动的圈圈没有出来,后面数据一下子就弹出来了(我后台做了延时),这是为什么呢?
pop问题.png

回复 支持 反对

使用道具 举报

18

主题

81

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
 楼主| 发表于 2017-7-21 16:06:28 | 显示全部楼层

你好,我用了debug测试,发现这个问题,我数据做了延迟10s,这个popover,是在我数据延迟10s后才弹出来的,所以数据延时的时候,popover并没有加载出来,在回调函数success里面,应该是交换完数据了,所以没起效果,这个要怎么处理下呢,谢谢
popover问题2.png

回复 支持 反对

使用道具 举报

18

主题

81

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
 楼主| 发表于 2017-7-21 16:16:00 | 显示全部楼层
经测试,popover.show放在外面,popover.hide放在回调函数里面可以了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 06:28 , Processed in 0.068565 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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