项目开发过程中,通过iframe引入其他页面,返回至前一页面时调用parent.location.reload(true)
时Chrome、IE10(11)下均可以正常返回,但是在IE9下却无效。
改成top.location.reload(true)
就可以了。
window.location.reload(true)
刷新当前页面.parent.location.reload(true)
刷新父亲对象(用于框架)opener.location.reload(true)
刷新父窗口对象(用于单开窗口)top.location.reload(true)
刷新最顶端对象(用于多开窗口)
语法介绍
reload
方法,该方法强迫浏览器刷新当前页面。
语法:location.reload([bForceGet])
参数: bForceGet
, 可选参数, 默认为 false
,从客户端缓存里取当前页。 true, 则以GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新")。
replace
方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace
方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。
语法:location.replace(URL)
参数: URL
应用场景分析
在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"
的时候,会出现“网页过期”的提示。那是因为Session的安全保护机制。
当调用 location.reload()
方法的时候, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback
的。如果有这种应用: 我们需要重新加载该页面,也就是说我们期望页面能够在服务端重新被创建, 我们期望是 Not IsPostback
的。这里,location.replace()
就可以完成此任务。被replace
的页面每次都在服务端重新生成。你可以这么写: location.replace(location.href)
后续
使用location.reload(true)方法,在刷新页面过程中,均会导致页面刷新过程中出现空白现象的发生,用户体验不佳,故继续探究解决方法。
拓展阅读
需求描述
1、根据后台传值动态显示开关状态及文字说明(0为文字,1为图标)
实施方法
Swich默认是boolean类型,而后台传值 为number类型,这个时候我们需要用number来取代boolean类型;
<template slot-scope="scope">
<el-switch v-model="state"
on-value="1"
off-value="0"
on-text="文字"
off-text="图标"
off-color="#20a0ff"
@change="changeStatus($event,scope.row)">
</el-switch>
</template>
请注意以面的写法,on-value
和off-value
的值分别是字符串的1和2,如果你赋值为数字类型的 1 或 2是无法正常工作的,若赋值为数值类型,需这样写:
<template slot-scope="scope">
<el-switch v-model="state"
:on-value="1"
:off-value="0"
on-text="文字"
off-text="图标"
off-color="#20a0ff"
@change="changeStatus($event,scope.row)">
</el-switch>
</template>
我们使用绑定的方式,同时@change
可以传值$event
就是switch
的当条信息值,或者直接获取绑定的model值state,scope.row
为参数,还可以再添加index
表示当前列表的序号。
注:改变状态时要注意返回的状态根据状态来选择相应的写法。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!