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

QQ登录

只需一步,快速开始

查看: 6037|回复: 17

[处理中3] 怎么用shell关闭当前界面并传参数回去

[复制链接]

26

主题

90

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
QQ
发表于 2016-6-27 10:47:23 | 显示全部楼层 |阅读模式
A界面通过showPage打开B界面,怎么关闭B界面,并传参数到A界面。


this.owner.send({
                        flag : buf,
                        startTime : startDate,
                        endTime: endDate
                });
this.owner.close();

用上面这个方法,A界面接收参数的代码没有执行。
发表于 2016-6-27 16:40:35 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-6-27 16:42 编辑

owner.send 是子页面向父页面传参才能使用的!
shell.showPage是同级页面之间的跳转!你可以在A打开B的时候,把一个自定义的js方法当做参数传递给B页面,B执行关闭操作时,调用一下这个js方法,并设置参数!在那个js方法中通过代码获取参数的值即可!
当然也可以使用派发事件的方式调用A页面的方法!并传参
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
发表于 2016-6-27 16:47:30 | 显示全部楼层
liangyongfei 发表于 2016-6-27 16:40
owner.send 是子页面向父页面传参才能使用的!
shell.showPage是同级页面之间的跳转!你可以在A打开B的时候 ...

其实我们换个思路,所有问题都可以迎刃而解。

因为我们每个页面都有一个唯一的model对象对应,那么你只要在A页面中得到B页面的model对象,那么就可以操作这个model对象的属性和方法,至于B页面的model对象,你可以在全局放一个对象全局存储,也可以在打开A页面是单独传递给A页面的model。不过我是推荐全局存储,但要记住在页面关闭事件里将全局对象的相关属性置null,让对象得以释放全部引用,那样才能被回收。
回复 支持 反对

使用道具 举报

79

主题

581

帖子

3464

积分

论坛元老

Rank: 8Rank: 8

积分
3464
QQ
发表于 2016-6-27 17:40:04 | 显示全部楼层
希望有所帮助
QQ图片20160627173921.png

小尾巴~~世间万难,无非一拖二懒三不读书
回复 支持 反对

使用道具 举报

26

主题

90

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
QQ
 楼主| 发表于 2016-6-28 09:06:00 | 显示全部楼层

中间的addTransactorNewWorkOrder是什么,justep.shell.off()中间的参数不太懂什么意思
回复 支持 反对

使用道具 举报

26

主题

90

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
QQ
 楼主| 发表于 2016-6-28 09:10:39 | 显示全部楼层

而且A界面跳转到B界面的时候也要传参数
回复 支持 反对

使用道具 举报

79

主题

581

帖子

3464

积分

论坛元老

Rank: 8Rank: 8

积分
3464
QQ
发表于 2016-6-28 09:35:04 | 显示全部楼层
ltf8228185 发表于 2016-6-28 09:10
而且A界面跳转到B界面的时候也要传参数

addTransactorNewWorkOrder是这个监听的名字,后面this.addTransactorNewWorkOrder是你自定义的方法
A转B页面shell本身就可以传值,可以看下shell文档,例如:
  1. var passData = {
  2.                 };
  3.                 justep.Shell.showPage(url, {'passData' : passData});
复制代码

小尾巴~~世间万难,无非一拖二懒三不读书
回复 支持 反对

使用道具 举报

26

主题

90

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
QQ
 楼主| 发表于 2016-6-28 09:47:08 | 显示全部楼层
cc_day 发表于 2016-6-28 09:35
addTransactorNewWorkOrder是这个监听的名字,后面this.addTransactorNewWorkOrder是你自定义的方法
A转B ...

那这个自定义方法里面写什么,写在哪,新手很多东西没接触,不了解
回复 支持 反对

使用道具 举报

79

主题

581

帖子

3464

积分

论坛元老

Rank: 8Rank: 8

积分
3464
QQ
发表于 2016-6-28 10:49:21 | 显示全部楼层
ltf8228185 发表于 2016-6-28 09:47
那这个自定义方法里面写什么,写在哪,新手很多东西没接触,不了解

自定义方法是用来接收B页面传回参数的,接收到B页面的参数,就在自定义方法里写你要做的操作

小尾巴~~世间万难,无非一拖二懒三不读书
回复 支持 反对

使用道具 举报

26

主题

90

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
QQ
 楼主| 发表于 2016-6-28 11:30:29 | 显示全部楼层
cc_day 发表于 2016-6-28 10:49
自定义方法是用来接收B页面传回参数的,接收到B页面的参数,就在自定义方法里写你要做的操作 ...

接收参数的方法是什么。event.params吗。this.owner.close();不是嵌套的页面才能用吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 04:12 , Processed in 0.094664 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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