把一个组件重置到初始状态是一个常见的需求,推荐的做法有两种,一种是父组件重置子组件的 prop,另一种是子组件暴露一个重置的方法供父组件调用.但有些时候,子组件既没有提供重置的方法,也没提供 prop 来重置自己的状态.更重要的是,这个子组件我们还动不了.于是我们就需要一种 hack 的方式来强制子组件重置到初始状态.方法如下: hack 的方式来强制子组件重置到初始状态 在你需要重置组件状态的操作里面加上这个句话,就可以实现组件的刷新, v-if 在切换时,元素及它的绑定数据和组件都会被销毁并…
实现功能:使用富文本编辑器编写文章,然后把编写成功的文章用子组件显示. 问题描述:父组件给子组件传递数据,子组件第一次调用数据的时候页面渲染是正常的,当数据变化的时候,子组件的页面渲染就失效了. 问题判断:通过一次次测试发现,第一次打开子组件的时候页面的渲染是正常的,后面打开之后渲染就失效了.所以初步怀疑是第二次调用组件的时候没有对数据进行渲染. 解决方案一: 当数据变更后,通过watch 监听,先去销毁当前的组件,然后再重现渲染.使用 v-if 可以解决这个问题 <template> <…
<component v-if="hackReset"></component>(组件名称) data:hackReset (事件执行) this.hackReset = false this.$nextTick(() => { this.hackReset = true })…
<component v-if="hackReset"></component> 2 3 4 this.hackReset = false this.$nextTick(() => { this.hackReset = true }) hackReset写在父data中开始hackReset=true…
this.$forceUpdate() /*关键句,强制更新dom*/…
刚刚接触Vue.js,现在需要做一个查询功能,并且进行服务端分页.主要思路是在页面中注册一个分页组件,然后进行调用.代码如下 1.引用vue.js,具体去网上下载 2.在html的body中添加如下代码,其中的<page></page>就是分页组件 <div id="searchDiv"> <div style="width: 100%"> <label style="width: 5%"&g…
有时候,依赖 Vue 响应方式来更新数据是不够的,相反,我们需要手动重新渲染组件来更新数据.或者,我们可能只想抛开当前的DOM,重新开始.那么,如何让Vue以正确的方式重新呈现组件呢? 强制 Vue 重新渲染组件的最佳方法是在组件上设置:key. 当我们需要重新渲染组件时,只需更 key 的值,Vue 就会重新渲染组件. 这是一个非常简单的解决方案. 当然,你可能会对其他方式会更感兴趣: 简单粗暴的方式:重新加载整个页面 不妥的方式:使用 v-if 较好的方法:使用Vue的内置forceUpda…
UGUI的Layout布局组件确实节省了我们很多代码 如果不使用Layout组件 那么光在计算UI的布局上就要花费很大的功夫 特别是动态生成其组件的时候 当然,Layout组件在大多数时候是非常好用的 也有让人头疼的时候 比如,一个组件内需要展开或者折叠 这时,刷新不及时带来的问题就出现了 比如展开时产生UI覆盖 折叠时产生UI空隙 都是让人头大的问题 幸好Unity提供了一个强制刷新UI的方法 便将此问题完美解决了 LayoutRebuilder.ForceRebuildLayoutImmed…
如果你用vue弄移动端的页面,那么下拉刷新还是比较常见的场景,下面来研究如何写一个下拉刷新的组件(先上图); 由于节省大家的时间,样式就不贴出来了. html结构也不必介绍了,直接看代码吧-.- <transition> <div class="refresh-wrapper" ref="refresh"> <div class="refresh-inner"> <div class="refr…
项目开发中在用户由分类页category进入detail需保存用户状态,查阅了Vue官网后,发现vue2.0提供了一个keep-alive组件. 上一篇讲了keep-alive的基本用法,现在说说遇到的坑. 先说项目中的配置   在App.vue中的设置   在router中增加配置meta      上面这个设置后发现问题了,从category进入detail页后,状态被保存了,返回的时候保存了用户状态,达到了预期效果 但问题在于但从category返回到index后,再由index进入cat…