为什么我直接console显示未定义 必须settimeout才可以呢
时机不对
首先,$refs 只会在组件渲染完成之后生效
而你是想在mounted时调用,然而 mounted 不会承诺所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted
更古怪的是我在_getitemsHeight这个方法里面 console.log(this.$refs); console.log(this.$refs.foodList); 这两个 出现了有意思的东西
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
你的这个
goods
是在什么时候有数据的 你输出refs
的时候应该goods
还没有数据不要相信
console.log
的信息 控制台输出的是你点击展开的时候的信息状态 并不是你输出的时候 也就是说在控制台把两个输出展开是一样的