时间:2020-11-16 12:04:27 | 栏目:vue | 点击:次
在使用Vue框架的时候,有时候需要在Vue在页面数据渲染完成之后调用方法,不然获取不到准确的数据,特别是在获取列表的高度的时候,由于数据没有加载完,获取不到准确的高度。之前在使用jquery的时候,有ready可以帮助我们实现,但是Vue不存在此类方法,我们需要结合watch和this.$nextTick()来实现。
nextTick:在下次 DOM 更新循环结束之后执行延迟回调。
watch:用于观察Vue实例上的数据变动。对应一个对象,键是观察表达式,值是对应回调。
之前我是这样子使用nextTick的:
mounted:{ this.$nextTick(function(){ /////方法 }) }
经测试发现实现不了所需要的效果,只有结构,没有数据,即获取不到想要的高度
后发现需要结合watch监听某个属性:
watch:{ asyncArray:function() this.$nextTick(function(){ //////方法 }); } }
经测试可用!