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

QQ登录

只需一步,快速开始

查看: 3211|回复: 6

[处理中3] 咨询页面跳转问题

[复制链接]

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
发表于 2017-10-25 10:45:44 | 显示全部楼层 |阅读模式
本帖最后由 zhoubincibn 于 2017-10-25 13:30 编辑

用的网易模板,登录成功后,跳转到 index-user.w  子页面。  
我用justep.Shell.showPage(“ index-user”),但是发现跳转后报错,原因是 index.w 没有加载,对象为空,似乎是没加载model对象;数据也没有重新加载。想问问,这种跳转到windowContainer中子页面,如何完整加载 父页面(index.w)model对象?

进展,后来发现:
index页面中 windowContainer 有onReceive属性,事件值 设定成:modelLoad;  实现了justep.Shell.showPage跳转不报错,model对象有了。
但是又有新问题,如果写
justep.Shell.showPage(“main”)跳转,数据没有重新加载;如何重新加载数据?
justep.Shell.showPage(“ index-user”)跳转,数据可重新加载,但就没有下方导航按钮了。
为什么跳到子页面就可以重新加载数据?跳到“main”就不能加载数据,是还有什么属性需要设定吗?
在index页面,ShellImpl实例化中:
"main" : {url : require.toUrl('./index_main.w')},
" index-user" : {url : require.toUrl('./ index-user')}

最好告知具体方法,希望详细一些。




91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2017-10-25 14:22:57 | 显示全部楼层
index_main.w页面中具体有什么?
数据默认是怎么加载的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2017-10-25 14:40:22 | 显示全部楼层
本帖最后由 zhoubincibn 于 2017-10-25 15:08 编辑
jishuang 发表于 2017-10-25 14:22
index_main.w页面中具体有什么?
数据默认是怎么加载的?

index_main 页面代码跟网易模板中的index_main 完全一样;
我感觉是不是要在 index_main 中单独对  index_user 页面进行控制?


我在index_main 中增加 onLoad 事件如下,进入可以alert,但登录页 justep.Shell.showPage("main");不执行      
        <div class="x-contents-content" xid="userContent" >
          <div component="$UI/system/components/justep/windowContainer/windowContainer"
            class="x-window-container" xid="mainContainer5" src="./index_user.w"  0 nLoad="userContentInactive"  autoLoad="false"  />
        </div>
上面0nload故意写错,否则论坛发布出来,奇怪。

js部分
Model.prototype.userContentInactive = function(event){        alert('test');    };
搞不明白,这个跳转,是要在登录页通过代码控制(我是不是页面跳转的代码有问题,请看楼下); 还是在目标页(index_main ) 属性设定?









回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2017-10-25 14:48:42 | 显示全部楼层
本帖最后由 zhoubincibn 于 2017-10-25 16:55 编辑
jishuang 发表于 2017-10-25 14:22
index_main.w页面中具体有什么?
数据默认是怎么加载的?

登录 login.w 跳转代码:
justep.Util.hint("登录成功,3秒后自动跳转!");
setTimeout(function() {
    justep.Shell.showPage("main");      
    //  我希望跳转的是 index_user 页面内容,但是 index_user 属于index_main 框架子页面,所以就不显示最下方导航按钮。
    //  若直接写  justep.Shell.showPage("index_user");  数据可以重新加载,正常;
    //  难道要这样写     justep.Shell.showPage(require.toUrl('./index_main.w#!userContent'));   实际并没有执行。  跳转后,地址栏变成:http://localhost:8080/x5/UI2/v_/shtv/index.w?device=m#!($model/UI2/v_/shtv/index_main.w#!userContent)//(#!newsContent)   注意最后面,如何能让默认的第一个  newContent变成  userContent,具体写法?

}, 3000);


我虽然这样写,可以解决问题,但是觉得傻傻的  window.location.href = require.toUrl('./index.w?device=m#!main//(#!userContent)');   相当于路由了3次,体验太不好了。

index.w代码:
        var Model = function() {
                this.callParent();
                var shellImpl = new ShellImpl(this, {
                        "contentsXid" : "pages",
                        "pageMappings" : {
                                "index" : {
                                        url : require.toUrl('./index.w')
                                },
                                "main" : {
                                        url : require.toUrl('./index_main.w')
                                },
                                "list" : {
                                        url : require.toUrl('./list.w')
                                },
                                "detail" : {
                                        url : require.toUrl('./detail.w')
                                },
                                "index_user" : {
                                        url : require.toUrl('./index_user.w')
                                }
                        }
                });
        };


index_main页面并没有针对 index-user做任何属性设定和代码控制。







回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2017-10-26 11:01:32 | 显示全部楼层
首页默认就处于打开的状态,再切换到首页的时候不会去执行onLoad事件,执行的是onActive事件
在onActive中去刷新数据看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2017-10-27 10:34:13 | 显示全部楼层
jishuang 发表于 2017-10-26 11:01
首页默认就处于打开的状态,再切换到首页的时候不会去执行onLoad事件,执行的是onActive事件
在onActive中 ...

//  我希望跳转的是 index_user 页面内容,但是 index_user 属于index_main 框架子页面,所以就不显示最下方导航按钮。
    //  若直接写  justep.Shell.showPage("index_user");  数据可以重新加载,正常;
    //  难道要这样写     justep.Shell.showPage(require.toUrl('./index_main.w#!userContent'));   实际并没有执行。  跳转后,地址栏变成:http://localhost:8080/x5/UI2/v_/shtv/index.w?device=m#!($model/UI2/v_/shtv/index_main.w#!userContent)//(#!newsContent)   注意最后面,如何能让默认的第一个  newContent变成  userContent,具体写法?


就是问, justep.Shell.showPage(  这里如何写链接  );
回复 支持 反对

使用道具 举报

发表于 2017-10-27 17:47:57 | 显示全部楼层
zhoubincibn 发表于 2017-10-27 10:34
//  我希望跳转的是 index_user 页面内容,但是 index_user 属于index_main 框架子页面,所以就不显示最 ...

页面中不要使用 window.location.href  进行页面跳转!
shellImpl  中定义了页面的映射  ,如果想跳转到主页!直接 

justep.Shell.showPage("main")  即可!  不用写URL的!

另外登录的思路可以参考
http://docs.wex5.com/wex5-ui-question-list-2143

使用windowDialog 弹出页

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 23:37 , Processed in 0.056406 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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