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

QQ登录

只需一步,快速开始

查看: 20787|回复: 26

[结贴] 页面如何刷新即时data

[复制链接]

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
发表于 2016-1-20 11:33:24 | 显示全部楼层 |阅读模式
如图所示。
QQ图片20160120112855.png
发表于 2016-1-20 13:26:10 | 显示全部楼层
刷新data可以使用js方式实现啊!
点击加入购物车按钮的点击事件中,使用data.refreshData() 方法就能够刷新整个data组件!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2016-1-20 16:19:07 | 显示全部楼层
本帖最后由 波斯大香蕉 于 2016-1-20 16:20 编辑
liangyongfei 发表于 2016-1-20 13:26
刷新data可以使用js方式实现啊!
点击加入购物车按钮的点击事件中,使用data.refreshData() 方法就能够刷新 ...

我就是用了this.comp("XID").refershData();
这个data还是不刷新。是不是要重新加载获取数据这个方法才可以?
回复 支持 反对

使用道具 举报

发表于 2016-1-20 17:05:24 | 显示全部楼层
波斯大香蕉 发表于 2016-1-20 16:19
我就是用了this.comp("XID").refershData();
这个data还是不刷新。是不是要重新加载获取数据这个方法才可 ...

对,data组件需要接管onCustomRefresh事件才能刷新data!
不过如果是一个临时的data组件,为什么要刷新呢??
直接给这个data赋值添加新数据不就可以了吗??
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2016-1-21 12:19:17 | 显示全部楼层
liangyongfei 发表于 2016-1-20 17:05
对,data组件需要接管onCustomRefresh事件才能刷新data!
不过如果是一个临时的data组件,为什么要刷新呢 ...

我现在就是需要这个data执行onCustomRefresh要怎么弄?直接Model.prototype.goods_in_carCustomRefresh();吗?我试过,不可以。
还有,什么叫临时的data?= =data还分临时和不临时的?
回复 支持 反对

使用道具 举报

发表于 2016-1-21 14:50:14 | 显示全部楼层
波斯大香蕉 发表于 2016-1-21 12:19
我现在就是需要这个data执行onCustomRefresh要怎么弄?直接Model.prototype.goods_in_carCustomRefresh() ...

就是静态的一个data组件 完全通过js赋值就可以,并没有连接后台或者读取json文件!就不必接管刷新!

如果你想接管刷新,可以参考:仿途牛:/UI2/demo/tuniu/city.w
中的cityDataCustomRefresh方法!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2016-1-21 17:59:19 | 显示全部楼层
本帖最后由 波斯大香蕉 于 2016-1-21 18:01 编辑
liangyongfei 发表于 2016-1-21 14:50
就是静态的一个data组件 完全通过js赋值就可以,并没有连接后台或者读取json文件!就不必接管刷新!

如 ...

我现在是在提交之后要刷新另一个data的数据,不是当前提交的data的数据,
还是举个购物车的例子
将商品添加到购物车里面,这个肯定是一个按钮对吧点击之后是获取一个数值传给后台,并不是onCustomRefresh方法。
点击这个按钮后台返回来的数据肯定也只是一个“添加成功”这样的数据。
我要拿到的是“添加成功”后onCustomRefresh中的物品数量。这个onCustomRefresh。要怎么接管刷新- - 现在刷不了。

现在就是想添加成功后,自动执行一次onCustomRefresh这个方法。
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2016-1-21 18:03:58 | 显示全部楼层

        // 添加商品至购物车
        Model.prototype.button4Click = function(event) {
                var self = this;
                var id = this.params.id;
                var catid = this.params.catid;
                var carDataNum = this.comp("car_num");
                // console.log(id + " " + catid);
                $.ajax({
                        async : false,
                        url : server.path + server.addcart,
                        type : "get",
                        dataType : "json",
                        crossDomain : true,
                        xhrFields : {
                                withCredentials : true
                        },
                        data : {
                                id : id,
                                catid : catid,
                                quantity : 1
                        },
                        success : function(data) {
                                if (data.status_code == "10000") {
                                        carDataNum.refreshData("carNum");
                                        console.log(data.msg);
                                        self.comp("car_pop_up").show();
                                        setTimeout(function() {
                                                $("[xid=car_pop_up]").hide();
                                        }, 1000);
                                } else {
                                        // self.comp("news_msg").set({
                                        // "title" : "提示",
                                        // "message" : data.msg
                                        // });
                                        // self.comp("news_msg").show();
                                }
                        },
                        error : function(xhr) {
                                // self.comp("news_msg").set({
                                // "title" : "提示",
                                // "message" : "网络错误,请检查您的网络!"
                                // });
                                // self.comp("news_msg").show();
                        }
                });
        };
回复 支持 反对

使用道具 举报

发表于 2016-1-22 09:52:54 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-1-22 09:53 编辑
波斯大香蕉 发表于 2016-1-21 18:03
// 添加商品至购物车
        Model.prototype.button4Click = function(event) {
                var self = this;

请问你是3.3版本中的baasData 组件呢? 还是3.2.1的data组件?
如果是baasData 就不需要接管刷新事件了!自定义action 返回数据即可:
http://bbs.wex5.com/forum.php ... 84070&pid=165202342

如果是3.2.1的data 就参考平台案例,还有文档
/UI2/demo/baas/simpleData/index.w
http://wex5.com/cn/wex5-baas-guide/

你调用data 的 refreshData方法的时候就会 自动触发这个refreshCurrent 事件
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

186

主题

1012

帖子

1663

积分

金牌会员

Rank: 6Rank: 6

积分
1663
QQ
 楼主| 发表于 2016-1-22 13:55:22 | 显示全部楼层
liangyongfei 发表于 2016-1-22 09:52
请问你是3.3版本中的baasData 组件呢? 还是3.2.1的data组件?
如果是baasData 就不需要接管刷新事件了! ...

- - 是3.3的,,但是没有返回数据。我只需要刷新。一下那个data就好了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-10 19:45 , Processed in 0.058271 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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