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

QQ登录

只需一步,快速开始

查看: 2284|回复: 7

[结贴] 关闭windowDialog打开的页面后如何刷新父页面

[复制链接]

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
发表于 2016-11-21 09:54:14 | 显示全部楼层 |阅读模式
信息展示页和登陆页面的功能。父页面组件有设置的函数进行text动态赋值和visible的动态显示与否。根据localStorage里的信息进行处理。首次加载时localStorage里没有信息,所以不显示,等用windowDialog打开登陆页面进行登陆后,在localStorage里存入相关信息,关闭登陆页面后希望父页面能刷新一下,重新获取值后相应组件能正常显示出来。目前的现状是登陆成功后登陆页面关闭,父页面仍为刚加载时的页面效果,设置的动态赋值效果无效
传说中路过
发表于 2016-11-21 13:59:44 | 显示全部楼层
localStorage 用法是浏览器提供的!可以上网查下原因!保存后,再获取下看能否获取到!以确定是否真的保存上了!
建议debugger 调试看看代码是否真的执行
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
 楼主| 发表于 2016-11-21 14:23:33 | 显示全部楼层
liangyongfei 发表于 2016-11-21 13:59
localStorage 用法是浏览器提供的!可以上网查下原因!保存后,再获取下看能否获取到!以确定是否真的保存 ...

可以肯定localStorage的变量值都有,登陆后个人信息页面不自动刷新,我手动F5刷新一下页面展示效果才正常体现出来。注销功能也是这样,点了注销后个人信息页面无变化,再刷新一下才能看到正常的显示结果。现在的问题不是说动态绑定的函数处理有问题,而是在子页面关闭后父页面本身不能自动刷新一下。我注销功能是放在父页面上的,点了注销也不能进行本身的刷新,需要怎么样才能主动刷新呢???目前找到的用window.location.reload(true)的方式结果是整个页面的重新加载,直接跳到首页去了,不是我想要的效果
传说中路过
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
 楼主| 发表于 2016-11-21 14:43:03 | 显示全部楼层
liangyongfei 发表于 2016-11-21 13:59
localStorage 用法是浏览器提供的!可以上网查下原因!保存后,再获取下看能否获取到!以确定是否真的保存 ...

我反复修改进行调试,发现如果动态绑定的函数里面如果判断是对某个值的判断,那能实时刷新,登陆后是登陆后的效果,注销了是注销后的效果。但如果函数处理里面的判断是调用另一个函数进行的处理,那就不能实时刷新,这是什么原因呢?拿部分代码来说明:


        Model.prototype.loginTF = function(){
                if(justep.Shell.userName.get()){
                        return false;
                }
                else{
                        return true;
                }
        };
这段代码是注销btn动态绑定bind-visible属性的,如果登陆成功那就显示注销按钮,如果未登陆就不显示注销按钮。抛开返回值处理不讲,单看if里的判断:if(justep.Shell.userName.get())这里面相当于是对定义好的某个变量值进行校验,这样写的话如果登陆成功,justep.Shell.userName有值,那么在打开的登陆页面关闭后父页面的注销按钮就显示出来了。但如果if的条件是调用另一个函数进行判断的,if(this.tokenCheck() == "ok")其中tokenCheck()是本页面上的一个方法,通过这种方式进行动态绑定函数编写的话登陆成功后关闭登陆页面之后,父页面无变化,注销按钮不能直接显示出来,只有再F5刷新一次才能正常显示出来
传说中路过
回复 支持 反对

使用道具 举报

发表于 2016-11-21 15:51:26 | 显示全部楼层
carbinechun 发表于 2016-11-21 14:43
我反复修改进行调试,发现如果动态绑定的函数里面如果判断是对某个值的判断,那能实时刷新,登陆后是登陆 ...

那你再debugger 调试 tokenCheck 方法看看,返回的值有何差异!
肯定是里面代码执行逻辑问题,返回值不一样!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
 楼主| 发表于 2016-11-21 16:09:05 | 显示全部楼层
liangyongfei 发表于 2016-11-21 15:51
那你再debugger 调试 tokenCheck 方法看看,返回的值有何差异!
肯定是里面代码执行逻辑问题,返回值 ...

都是并列的函数,感觉是不是函数调用有个顺序问题,造成的差异。我定义个变量,把tokenCheck里各分支处理给变量单独赋值,动态绑定函数里换成对这个变量的判断,还是要手动F5刷新后才能正常显示
传说中路过
回复 支持 反对

使用道具 举报

发表于 2016-11-21 16:35:05 | 显示全部楼层
carbinechun 发表于 2016-11-21 16:09
都是并列的函数,感觉是不是函数调用有个顺序问题,造成的差异。我定义个变量,把tokenCheck里各分支处理 ...

那你debugger 调试下tokenCheck 方法把!
看下里面的判断条件 是因为那个变量的值不正确引起的!你就应该再调用前先处理这个值!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
 楼主| 发表于 2016-11-23 09:03:09 | 显示全部楼层
崩溃了,折腾一天的时间,我重写的函数,函数内容和现有的一样再调用就好使了。。。。以前也遇到过一次这种情况,不过是list组件,删除了重新添加同样的内容就能正常显示。。。。这属于什么异常问题啊,好折腾人,可以结帖了
传说中路过
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-23 00:35 , Processed in 0.056990 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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