|
需求:
1. 当参数不符合要求的时候直接关闭
现在特指Shell的路由跳转进来的,因为路由进来的页面,
参数不一定是我们指定的,希望能直接关闭
2. 不是通过index.w进来的直接关闭
因为是单页模式,不允许直接打开,现在只能通过页面跳转回index.w,
有没有更好的办法,当不是index.w进来的时候跳转到index.w,或者页面不刷新调用index.w
3. 希望能提供以下的路由拓展功能
3.1. 关闭部分页面的pushState功能,默认开启也可以,只要能关闭
需求点:
因为有些页面是通过特殊的data来传递的,参数有些复杂,不希望被路由跳转进来
3.2. 强制关闭上一页的功能
需求点:
我在“新建数据页面” 点击完成 进入 “明细页面”,
当进入“明细页面”的时候希望能关闭 “新建数据页面”
这样“明细页面”关闭之后就会回到“列表页”或者“首页”,用户体验会更好
现在只能是在showPage完成后调用closePage方法
比如:
在Shell的pageMappings的配置
"main":{
'url' : require.toUrl('./main/main.w'),
// 可选的。是否把浏览历史存储在浏览器的浏览历史中。(这样可以使用浏览器的后退/前进按钮)默认true
// 如果设为false,页面进入的时候将变成默认的main或上一页的路由状态等等
'pushState': true
}
或者:
justep.Shell.showPage( 'detail', params, {
// 可选的。只对 closePage 方法有效。
// 如果设置为 true,那么会忽略浏览历史中的上一个页面,而是直接加载指定的页面。
// 比如当前历史: [main,new], 当前页面是new,现在要打开detail页面,
// 在页面打开时, 关闭new页面,也就是历史记录是 [main,detail],而不是[ main, new, detail ]
'force': true,
// 进入的时候,地址不进入url
'pushState': false
});
问题:
已经测试,在model的onLoad,paramsReceive,onActive的事件里面直接关闭,当前页面的历史记录不会清除,
在下一次调用closePage的时候,再次返回当前页面,但是因为当前页面被关闭了,所以显示空白界面
|
|