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

QQ登录

只需一步,快速开始

楼主: ufo1982ufo

[结贴] 求指导,这个框架遇到了问题!

[复制链接]

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-1-16 09:59:32 | 显示全部楼层
liangyongfei 发表于 2017-1-16 09:49
如果把xid为windowContainer0 的windowContainer去掉 ,或者把它路由设置为false  ,也不行吗?
...

是的,不行。
我main.w里加了这个
  1.         Model.prototype.contentsActiveChange = function(event){                //激活content,加载对应container,首页和隐藏页除外
  2. //                debugger;
  3.                 var to = event.to;
  4.                 if(to>=0 & to<=3){
  5. //                        if(this.comp('windowContainer'+to).getInnerModel()){
  6.                                 this.comp('windowContainer'+to).load();
  7. //                        }
  8.                 }
  9.         };
复制代码

在仿淘宝等案例中,contents的路由都是在各个content之间,而且detail也 其实是一个shell的页面,并没有急于container在main中加载,想我这种要用在container中如何处理?一刷新就没有反应了,路由开启关闭都试过了,都不行!
回复 支持 反对

使用道具 举报

发表于 2017-1-16 10:09:50 | 显示全部楼层
ufo1982ufo 发表于 2017-1-16 09:59
是的,不行。
我main.w里加了这个

建议先看看仿淘宝案例的代码!是否可以正常?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-1-16 10:28:10 | 显示全部楼层
liangyongfei 发表于 2017-1-16 10:09
建议先看看仿淘宝案例的代码!是否可以正常?

淘宝的案例和途牛的案例都是正常的,我和这2个案例的区别就在于我的main页的默认content页面也是通过windowcontainer加载的,案例都是直接在main放了组件。
还有一个区别是,他们打开的detail页面都是通过shell打开的,这样的话不需要进行contents之间的load,而我的所有页面都是在main.w里面,每次调用都需要content.to(xxx),然后load那些container。
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-1-16 12:08:23 | 显示全部楼层
liangyongfei 发表于 2017-1-16 10:09
建议先看看仿淘宝案例的代码!是否可以正常?

是不是main.w里默认激活的那个content不能使用windowcontainer页面??我看了很多案例,包含netease的都是没有用container加载!
回复 支持 反对

使用道具 举报

发表于 2017-1-16 14:26:33 | 显示全部楼层
ufo1982ufo 发表于 2017-1-16 12:08
是不是main.w里默认激活的那个content不能使用windowcontainer页面??我看了很多案例,包含netease的都 ...

嗯!你试试吧!第一个页面可以不用使用windowContainer
不必所有的页面都用windowContainer ,毕竟常见在的第一个页面,直接加载就好了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-1-16 14:58:31 | 显示全部楼层
liangyongfei 发表于 2017-1-16 14:26
嗯!你试试吧!第一个页面可以不用使用windowContainer
不必所有的页面都用windowContainer ,毕竟常见 ...

呃.......
修改一个页面还是非常费事的事情,每个关联的页面必须改,还要重新调试,传参,组件,也要改。。。
如果是支持的话,我还是保留那个container,毕竟以后主页规划或调整都比较好办,还可以再花时间找找问题出在什么地方。
如果默认激活的那个页面不能是windowcontainer的话,那只有改了,没有什么说的。需要贴那个main.w的代码吗?
回复 支持 反对

使用道具 举报

发表于 2017-1-16 15:05:09 | 显示全部楼层
ufo1982ufo 发表于 2017-1-16 14:58
呃.......
修改一个页面还是非常费事的事情,每个关联的页面必须改,还要重新调试,传参,组件,也要改。 ...

那为了简单测试起见,可以先把第一个content上的windowContainer去掉!摆两个按钮试试!能否可用?
修改也很简单!在一个w页面中选择dom节点!右键复制!在另一个w页面,设计器中选中一个dom节点!黏贴,代码就全过来了!很快的
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-1-16 15:47:39 | 显示全部楼层
本帖最后由 ufo1982ufo 于 2017-1-16 15:59 编辑
liangyongfei 发表于 2017-1-16 15:05
那为了简单测试起见,可以先把第一个content上的windowContainer去掉!摆两个按钮试试!能否可用?
修改 ...

我新建了一个main2.w页面,张贴了部分代码,是可以的。
下面的代码是main.w的,新的main.w里面全部都删除了如下的代码!
  1.         Model.prototype.infolistcontentInactive = function(event){                //infolist离开时保存数据
  2. //                debugger;
  3.                 var model = this.comp('windowContainer0').getInnerModel();
  4.                 var data = model.comp('userData');
  5.                 data.setValue('openid',model._userID);
  6.                 data.setValue('name',model._userDefaultName);
  7.                 data.setValue('photo',model._userPhotoURL);
  8.                 data.setValue('latitude',window.latitude);
  9.                 data.setValue('longitude',window.longitude);
  10.                 data.setValue('login',model.date);
  11.                 data.setValue('email',model.email);
  12.                 data.saveData();
  13.                
  14.                 localStorage.setItem('locallongitude', window.longitude);         //保存至本地
  15.                 localStorage.setItem('locallatitude', window.latitude);         //保存至本地
  16.                 localStorage.setItem('localopenid', window.openid);
  17.         };
  18.         

复制代码

应该说是由于这些原来在main.w里面代码引起的,都是这些代码现在是实现了业务需求的代码啊!而且debuger是不会有任何的报错的!
这代码是定义主页离开时保存用户数据的,而且也是调用了content里的windowcontainer内嵌页面的userData,用户的登陆信息都是在子页面进行获取到的。由于切换contents时,子页面其实都是加载的,无法实现保存我才在main.w来做保存!
如果可以放在子页面来做要如何做?(在用户切换content的时候,子页面将调用类似的保存动作,好了之后再执行main.w的contentsActiveChange代码)
回复 支持 反对

使用道具 举报

发表于 2017-1-16 16:00:23 | 显示全部楼层
ufo1982ufo 发表于 2017-1-16 15:47
我新建了一个main2.w页面,张贴了部分代码,是可以的。
下面的代码是main.w的,新的main.w里面全部都删除 ...

那你再调试看看,每次点按钮切换content页面的时候!有没有方法可以被触发!是触发的哪个事件??导致了页面不切换!建议自己调试找下吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-1-16 17:25:04 | 显示全部楼层
liangyongfei 发表于 2017-1-16 16:00
那你再调试看看,每次点按钮切换content页面的时候!有没有方法可以被触发!是触发的哪个事件??导致了 ...

chronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
XHR finished loading: GET "http://localhost:8080/x5/UI2/system/service/common/app.j?_=96749d88-c9af-8ccd-b245-d9fc85677d92&url=/mfxxl/main2.w&device=m".
[system] Now: 2017-01-16 17:20:32.404
[system] System: iPhone, iOS 7.0
[system] Protocol: HTTP
[system] connectEndTime: 5ms
[system] responseEndTime: 991ms
[system] DomRenderCost: 537ms
[system] UA: Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53
根据xidsearchcontent路由失败,原因TypeError: Cannot read property 'comp' of undefined
    at Model.infolistcontentInactive (http://localhost:8080/x5/UI2/v_5d4a4e0b892e44bd9154d15c4b15505dl_zh_CNs_d_m/mfxxl/main2.js:51:19)
    at r.extend.fire (http://localhost:8080/x5/UI2/v_bfb5240eacb346aa846ed3f85d12b579l_zh_CNs_d_m/system/core.min.js:71:236440)
    at r.extend.fireEvent (http://localhost:8080/x5/UI2/v_bfb5240eacb346aa846ed3f85d12b579l_zh_CNs_d_m/system/core.min.js:71:237604)
    at n.callParent (http://localhost:8080/x5/UI2/v_bfb5240eacb346aa846ed3f85d12b579l_zh_CNs_d_m/system/core.min.js:71:233879)
    at Component.extend.fireEvent (http://localhost:8080/x5/UI2/v_08c2eb453efb4f92b145b2b0a38c58b9l_zh_CNs_d_m/system/common.min.js:15:3768)
    at i.extend.slide (http://localhost:8080/x5/UI2/v_14f7d24d502f4bed9e0faa50ed175575l_zh_CNs_d_m/system/components/comp.min.js:144:105952)
    at i.extend.to (http://localhost:8080/x5/UI2/v_14f7d24d502f4bed9e0faa50ed175575l_zh_CNs_d_m/system/components/comp.min.js:144:105177)
    at r.extend.active (http://localhost:8080/x5/UI2/v_14f7d24d502f4bed9e0faa50ed175575l_zh_CNs_d_m/system/components/comp.min.js:144:96550)
    at r.extend.doRoute (http://localhost:8080/x5/UI2/v_14f7d24d502f4bed9e0faa50ed175575l_zh_CNs_d_m/system/components/comp.min.js:144:96690)
    at Object.<anonymous> (http://localhost:8080/x5/UI2/v_bfb5240eacb346aa846ed3f85d12b579l_zh_CNs_d_m/system/core.min.js:71:259954)
貌似没有获取到子页面,还是子页面没有加载?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 02:19 , Processed in 0.059198 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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