template里定义了ref元素

<div ref="secoller" ></div>
updated() {
	console.log(this.$refs.secoller) // <div ref="secoller" ></div>
}

详解:

ref本身是作为渲染结果被创建的,在初始渲染的时候访问不到它们 - 它们是不存在的。只有等页面加载完成好之后才能调用this.$refs。

  1. 如果在mounted里获取,此时dom还未完全加载,所以拿不到
  2. update() {}完成了数据跟新到dom的阶段,此时使用this.$refs可以获取到
  3. methods: {}可以使用this.$nextTick(_ => {}),等页面渲染好再调用
Logo

前往低代码交流专区

更多推荐