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

QQ登录

只需一步,快速开始

查看: 8137|回复: 21

[处理中4] 从修改页面返回后数据不会立即更新

[复制链接]

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
发表于 2017-3-1 09:52:32 | 显示全部楼层 |阅读模式
我有一个用户的页面 index-user.w,里面有用户的姓名、所在城市等,所用的数据是userData,城市的绑定是bind-ref='ref("CityName")':

<li class="list-group-item" xid="li1" bind-click="selectCityClick">
          <div style="float:left"><a component="$UI/system/components/justep/button/button" class="btn btn-link btn-only-icon"
            icon="linear linear-bicycle">
            <i xid="i1" class="text-danger linear linear-bicycle"/>  
            <span xid="span1"/>
          </a>  
          <span xid="span15"><b>所在城市</b></span>  </div>
          <div style="float:right"><div style="float:left" component="$UI/system/components/justep/output/output" class="x-output" xid="output1" bind-ref='ref("CityName")'></div>
          <div style="float:left"><a component="$UI/system/components/justep/button/button" class="btn btn-link btn-only-icon pull-right"
              label="button" xid="button15" icon="icon-ios7-arrow-right">
              <i xid="i15" class="icon-ios7-arrow-right text-muted"/>  
              <span xid="span17"/>
            </a></div>
         </div>        
如果点击城市名称,就会弹出一个修改的页面 selectCity.w,然后修改所在城市,我的问题是,修改完后用justep.Shell.closePage();关闭页面返回index_user.w页面,城市数据不会立即更新,还是原来的城市。请问如何才能立即更新数据? 我试过在修改页面用 userData.reflash(),不行,因为数据是在用户页面。而用 this.comp('windowContainer1').refresh();也会提示错误。

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-3-1 11:00:27 | 显示全部楼层
有没有这方面的例子?
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-1 11:23:32 | 显示全部楼层
zjroland 发表于 2017-3-1 11:00
有没有这方面的例子?

案例的话  应该是没有的   但是我觉得你是不是可以传递一个参数然后在接收参数的时候刷险当前页面的data呢?
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-3-1 11:30:36 | 显示全部楼层
哦,可以利用参数来刷data?有着方面的例子吗?
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-1 11:36:45 | 显示全部楼层
zjroland 发表于 2017-3-1 11:30
哦,可以利用参数来刷data?有着方面的例子吗?

不是  你的selectCity.w里面选中的数据是怎么带回到index_user.w里面的呢?
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-3-1 11:44:14 | 显示全部楼层
哦,我是在子页面通过baas在后台刷新数据的。。。
Model.prototype.cityLiClick = function(event){
                var cityData = this.comp("cityData");
                var rowID=cityData.getCurrentRowID();
                var row = cityData.getRowByID(rowID);
                //用户信息上传
            Baas.sendRequest({
                "url" : "baas",
                "action" : "updateUserBasedata",
                "async" : false,
        "params" : {
                   UserID : justep.Shell.userId.get(),
                   Gender : justep.Shell.gender.get(),
                       CityID:  cityData.getValue('CityID',row),
                       AboutMe: justep.Shell.brief.get()
        },
        "success" : function(data) {
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-3-1 11:46:39 | 显示全部楼层
其实主页面的数据如果调用userDataCustomRefresh也会刷新的,但是由于我子页面是用 justep.Shell.closePage();关闭而回到用户页面,所以用户页面不刷新。所以给人的印象是数据没有更新。
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-3-1 11:49:09 | 显示全部楼层
主页面取回数据:
Model.prototype.userDataCustomRefresh = function(event){
                var userData = event.source;
                if(justep.Shell.userId.get()>0){
                        Baas.sendRequest({
                                "url" : "baas",
                                "action" : "getUserDetailData",
                                "async" : false,
                                "params" : {
                                        UserID : justep.Shell.userId.get()
                                },
                                "success" : function(data) {
                                userData.loadData(data);// 将返回的数据加载到data组件
                        },
                        error : function() {
                                throw justep.Error.create("加载数据失败");
                        }
                });
        }
               
        };
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-1 12:01:11 | 显示全部楼层
zjroland 发表于 2017-3-1 11:49
主页面取回数据:
Model.prototype.userDataCustomRefresh = function(event){
                var userData = event.sou ...

其实我觉得你可以下父页面的页面激活事件里面写一个data的刷新呢?
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-3-1 12:08:39 | 显示全部楼层
父页面的页面激活事件里面写一个data的刷新?具体怎么做,有例子吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 21:08 , Processed in 0.059761 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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