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

QQ登录

只需一步,快速开始

查看: 5012|回复: 18

[结贴] 非父子关系的页面如何相互调用

[复制链接]

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
发表于 2017-7-13 16:22:11 | 显示全部楼层 |阅读模式
非父子关系的页面如何相互调用
发表于 2017-7-13 16:44:12 | 显示全部楼层
看下场景
http://docs.wex5.com/wex5-ui-question-list-2137/
有没有类似的!

如果两个页面存在相互跳转的关系!可以传参,传递方法!

如果两个页面毫无关系!只能通过派发事件实现了!
http://docs.wex5.com/wex5-ui-question-list-2034/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-13 17:16:48 | 显示全部楼层
本帖最后由 q2045377 于 2017-7-13 17:22 编辑

A B页面都可以打开C页面,现在是B页面打开的C页面,停留在C页面,A页面接收到数据可以通过windowDialog.getInnerMode方法传到C页面,,但是,现在C页面数据又要传到A页面,,做不到啊,,,,好吧  突然想到,,在C页面设置一个windowDialog能跳转到A页面,,再通过windowDialog.getInnerMode方法传参到A页面,,我先试试看
回复 支持 反对

使用道具 举报

发表于 2017-7-13 17:33:05 | 显示全部楼层
q2045377 发表于 2017-7-13 17:16
A B页面都可以打开C页面,现在是B页面打开的C页面,停留在C页面,A页面接收到数据可以通过windowDialog.ge ...

请不要使用windowDialog 打开C 页面!
因为windowDialog打开的页面是不会重用的!他会重新实例化!
也就是A 打开的 C  和 B 打开的C 不是一个实例!

用过用shell.showPage打开C 页面!这样才是同一个实例!
A 和 B打开的确定是同一个页面!

A 打开C 的时候传递一个js方法!过去就行
http://docs.wex5.com/wex5-ui-question-list-2048/

如果A 还没打开过C
建议用事件派发去实现吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-13 20:21:42 | 显示全部楼层
本帖最后由 q2045377 于 2017-7-14 06:27 编辑
liangyongfei 发表于 2017-7-13 17:33
请不要使用windowDialog 打开C 页面!
因为windowDialog打开的页面是不会重用的!他会重新实例化!
也就 ...

页面A justep.Shell.on("asmsg", this.asmsg, this);           Model.prototype.asmsg = function(receiver,text,cteateTime,type){  
                                 alert(text)     
        };

页面B  
       var text ="喔喔"
//        justep.Shell.fireEvent("asmsg(tex)", {});
        justep.Shell.fireEvent("asmsg", {text:tex});
        //justep.Shell.fireEvent("asmsg", {receiver:receiver},{text:text},{cteateTime:cteateTime},{type:type});
页面A弹出      [object Object]    问下应该怎样传参
        




回复 支持 反对

使用道具 举报

发表于 2017-7-14 10:36:14 | 显示全部楼层
q2045377 发表于 2017-7-13 20:21
页面A justep.Shell.on("asmsg", this.asmsg, this);           Model.prototype.asmsg = function(receiv ...

看文档!说明,传参是
  justep.Shell.fireEvent("asmsg", {text:tex,receiver:receiver});

接收参应该是
  Model.prototype.asmsg = function(event){  
                                 alert(event.text);
  alert(event.receiver)     
        };


qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-14 22:27:17 | 显示全部楼层
本帖最后由 q2045377 于 2017-7-14 22:46 编辑
liangyongfei 发表于 2017-7-14 10:36
看文档!说明,传参是
  justep.Shell.fireEvent("asmsg", {text:tex,receiver:receiver});

有个疑问,,我和对方正在聊天,每次聊天都要判断拉黑表和好友表里的记录存不存在,突然别人把我拉黑了或者删除了,但是因为我页面没有刷新所以data组件中根本没有别人拉黑我的记录,,而我还在给他发信息,,难道每次发生都要刷新下吗
回复 支持 反对

使用道具 举报

发表于 2017-7-17 09:17:57 | 显示全部楼层
q2045377 发表于 2017-7-14 22:27
有个疑问,,我和对方正在聊天,每次聊天都要判断拉黑表和好友表里的记录存不存在,突然别人把我拉黑了或 ...

拉黑 或者 删除的时候!对方也应该给你发一条消息的!(或者是一个推送消息也行!)
这个消息的类型就是删除或者拉黑用的!

代码中判断消息的类型!然后提示用户!您已被拉黑或删除!并修改data组件删除,根据那条消息,对应的行即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-17 11:24:56 来自手机 | 显示全部楼层
本帖最后由 q2045377 于 2017-7-17 12:18 编辑
liangyongfei 发表于 2017-7-17 09:17
拉黑 或者 删除的时候!对方也应该给你发一条消息的!(或者是一个推送消息也行!)
这个消息的类型就是 ...

对面删除拉黑我的时候,我没登陆呢,拉黑操作不了,对面还能给我发信息,但是对面已经拉黑了,如果是先判断在不在线那,如果网络差怎么办呢,,突然想到能不能拉黑方先在表里操作,被拉黑方也在表里操作(先判断拉黑表里有没有,如果没再操作,)但双方都删除,会不会影响表,会执行错误
回复 支持 反对

使用道具 举报

发表于 2017-7-17 13:51:42 | 显示全部楼层
q2045377 发表于 2017-7-17 11:24
对面删除拉黑我的时候,我没登陆呢,拉黑操作不了,对面还能给我发信息,但是对面已经拉黑了,如果是先判 ...

你还没登录就不会出现缓存问题了啊!
等你登录重新获取数据的时候!这个时候data中的数据就是最新的!  

我的意思是如果你在线,他拉黑你了!可以发送一条消息!这条消息就是一个通知! 收到后,修改data状态就表示已经拉黑了!


如果不在线!消息照样发出去!不用管是否接收了! 反正重新登录后获取的数据本来就是最新的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-11 17:15 , Processed in 0.060798 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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