应用场景:在写页面的时候,对于修改信息或者是修改表单数据时,页面所渲染的数据于要求实现与数据库信息同步,展示最新的数据,会用到数据刷新。
下面有三种方法:
写法简单可以实现效果:
第一种:this.$router.go(0)
第二种:location.reload()
注:前两种方法都是最直接的整个页面刷新,会出现一瞬间的空白,用户体验感不好
第三种最实用 推荐实用(地址栏路径不变,只是页面显示的是内容会刷新一下)
注:进行编辑操作,通过v-show控制input的显示与隐藏,当显示的时候,isEdit这个数据发生了改变,但是页面会把这个调用的函数读取完才进行解析模板,这是要做的事情是对修改后的dom元素进行相关操作,而由于系统要先把代码执行完毕,页面才会进行重新解析,此时页面还是修改前的,要操作的元素此时处于隐藏状态,所以执行这行代码无效:
解决办法:使用nextTick,可以说他是个标志,在这之前有数据发生变化了,使用他就相当于是告诉vue,执行到我这里你就先去解析模板吧,回头等模板解析完了(页面显示的是操作后的最新状态),我来对最新的dom进行操作。