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

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: first932167

[结贴] 仿淘宝案例中发现页每打开一次加载一次数据

[复制链接]

19

主题

80

帖子

121

积分

初级会员

Rank: 2

积分
121
QQ
发表于 2017-7-7 15:55:51 | 显示全部楼层
商品详细页面,最好还是访问实际的数据好点,每次。万一你价格改了怎么办????远程的数据倒是可以生成json格式的txt文档放服务器上。管理端改变价格的时候去改变这个txt文件就是
回复 支持 反对

使用道具 举报

发表于 2017-7-7 17:14:32 | 显示全部楼层
first932167 发表于 2017-7-7 15:02
是不是不好实现在,如果不好实现,我只能在里面放弃使用Contents了。

和contents没关系啊!
contents 只是显示页面用的!加载数据是data组件控制的!如果你每个页面都有data组件加载数据!
或者是你调用了data.refreshData 方法!才会去加载数据 的!
如果data组件没去刷新!就不会请求的!
你可以吧data的autoLoad设置为false !list 的autoLoad也设置为false
data.refreshData 代码也去掉!

还会加载吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

12

主题

90

帖子

153

积分

初级会员

Rank: 2

积分
153
QQ
 楼主| 发表于 2017-7-8 11:14:47 | 显示全部楼层
找到原因了,也不知道跟哪个教程学的,在
x-contents-content组件上设置了autoload=false,然后设置了
        Model.prototype.contentActive = function(event) {
                /*
                 * contents自动加载变为false后应当使用的方法S
                 */
                var windowContainer = event.source.getContent(event.source.getActiveXid()).$domNode.children();
                this.comp(windowContainer.get(0)).refresh();
        };
以上代码肯定是从哪复制过来的吧,我自己是写不出来的。
这样子就导致一切换就全都刷新。刷新,所有数据就都得重新访问远程服务器。
找了一天多,从访淘宝上,去掉contentActive,在contents增加事件,如下代码:
Model.prototype.contents1ActiveChange = function(event){
               
                var to = event.to;
                console.log(to+1);
                        if (to >= 1) {
                                this.comp('windowContainer' + (to + 1)).load();
                        }
                };
完美解决问题。

感谢各位的热心回复。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 08:13 , Processed in 0.055707 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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