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

QQ登录

只需一步,快速开始

查看: 4088|回复: 14

[处理中3] 关于列表进入对应的详情页问题

[复制链接]

7

主题

17

帖子

63

积分

初级会员

Rank: 2

积分
63
QQ
发表于 2016-7-18 20:44:00 | 显示全部楼层 |阅读模式
按照淘宝案例来做了一个进入详情页面的demo,但是发现不管点哪一个列表内容,进入的详情页都是一样的,看了半天的页面互交文档也搞不明白,到底要怎么弄,看到官方有微店案例,这个案例就有很好的进入对应的详情页面。可是官方不把这个源码分享,请问有人知道怎么处理这一块页面互交的问题 吗?或者给这一块的DEMO参考学习一下。

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-7-19 15:14:17 | 显示全部楼层
本帖最后由 闰土 于 2016-7-19 15:15 编辑

这个 思路很简单的 ,比如现在我们停留在了一个列表页面 ,这个列表绑定了一个data ,再点击是跳转详情页,在跳转的时候可以传递一个参数,作为唯一标示,比如这个data的FID,然后通过这个FID传入到详情页面,在通过这个FID 去查对应的详情页面的数据,就好啦,这里面通过FID去查 就要用到过滤 setFilter() 这个方法啦
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

7

主题

17

帖子

63

积分

初级会员

Rank: 2

积分
63
QQ
 楼主| 发表于 2016-7-19 22:38:07 | 显示全部楼层
闰土 发表于 2016-7-19 15:14
这个 思路很简单的 ,比如现在我们停留在了一个列表页面 ,这个列表绑定了一个data ,再点击是跳转详情页, ...

我用了setFilter()来查询了,还是一样,不管点列表哪一个都是进入第一组数据。

进入详情页

         Model.prototype.scenicClick = function(event){
          var data = this.comp("scenicData");
                justep.Shell.showPage("scenicdetail", {
                        scenicID : data.getValue("fID"),
                });        
        };


//参数接收
Model.prototype.modelParamsReceive = function(event){
        var data = this.comp("scenicData");
        var scenicID = event.params.scenicID;
        data.setFilter('filter','fID='+scenicID );
};



两个页面的代码我是这样写的,不知道哪里错了
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-7-19 23:52:35 | 显示全部楼层
看起来是对的啊,我也卡在这里了
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-7-20 09:40:30 | 显示全部楼层
  在这句var data = this.comp("scenicData");代码前 打一个 debugger; 然后去页面跑一下,还有 你少一句代码 ,要刷新一下data 不然数据不刷新,永远都是第一条,后面数据根本进不来
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-7-20 17:35:33 | 显示全部楼层
这样传参:Model.prototype.qxxbuttonClick = function(event){
var data = this.comp("kslistData");
        justep.Shell.showPage("detail", {
        var params = {
        ksid : data.getValue("ks_id")
        };
这样接收:Model.prototype.modelParamsReceive = function(event){
var data = this.comp("ksxxData");
var ksid = event.params.ksid;
data.setFilter('filter0',"ks_id='"+ksid+"'" );  
data.refreshData();
};也是有问题
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-7-20 17:55:17 | 显示全部楼层
郭德成 发表于 2016-7-20 17:35
这样传参:Model.prototype.qxxbuttonClick = function(event){
var data = this.comp("kslistData");
        ju ...

我这样也是有问题的
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

7

主题

17

帖子

63

积分

初级会员

Rank: 2

积分
63
QQ
 楼主| 发表于 2016-7-21 13:23:32 | 显示全部楼层
闰土 发表于 2016-7-20 09:40
在这句var data = this.comp("scenicData");代码前 打一个 debugger; 然后去页面跑一下,还有 你少一句 ...

我加上data.refreshData();来刷新数据了,我看到ID确实是有变动,但是依旧还是无法刷新新的数据出来,而且旧的数据他还在,必须要再点一次才能刷新出新的ID,这个问题把我给困死了。。。
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-7-21 13:35:17 | 显示全部楼层
本帖最后由 闰土 于 2016-7-21 16:15 编辑

这代码不对啊, 获取当前行方法:getCurrentRow(),你传递的是这个(scenicData )的FID 然后过滤的时候还是用的这个(scenicData)的FID ,到底哪个详情页的Data?那个是列表页的Data?我看你上面的代码 ,都是在一个data里面操作啊?这两个data 的名字一样?
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-7-21 14:57:25 | 显示全部楼层
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 10:59 , Processed in 0.060557 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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