在开发程序过程经常遇到使用v-for 循环创建view的代码,例如
<scroll-view id="classify" scroll-with-animation="true" scroll-y="true" :scroll-top="classifyScrollTop"
class="classify">
<view :class="{item:true, active:item.active}" v-for="(item,index) in classifys" :key="item.cid"
@click.stop="clickClassify(index)">
<view>{{item.title}}</view>
</view>
<view style="height:170rpx;" ></view>
</scroll-view>
使用watch 监视classifys的变化情况,在变化的时候,视图会被重新渲染,此时调用
let classifyItem = uni.createSelectorQuery().in(this).selectAll("#classify .item");
获取不到 相应的节点信息,可能是因为此时节点没有渲染完成的原因,请问这种情况如何处理呢,如何知道节点是否渲染完成了呢?不希望使用setTimeOut解决
注:uni.createSelectorQuery().in(this).selectAll() 是在 mounted 之后调用的
2 个回复
j***@163.com (作者)
uni.createSelectorQuery().in(this).selectAll()
是在mounted 之后调用的
CODE_XU
nextTick