首页 > 解决方案 > VueJS:从 id 读取 div 内容

问题描述

在我的第一个示例中,我的组件模板中有:

<div id="hello">hello world</div>

console.log(this.$refs['hello'])被调用时myMethod(),我进入undefined控制台。

在我的第二个示例中,我有:

<div v-for="item in data">
  <div :id="'hello-'+item.id">hello {{ item.id }}</div>
</div>

console.log(this.$refs['hello-1'])被调用时myMethod(),我也进入undefined控制台。

我的代码有什么问题?

标签: vuejs2

解决方案


你不能通过refs给出元素来获得元素id。您应该绑定ref到该元素。这是一个例子:

<div v-for="item in data" :key="item.id">
  <div :id="'hello-'+item.id" :ref="'hello-'+item.id">hello {{ item.id }}</div>
</div>

并且不要忘记将绑定到您的迭代元素v-for


推荐阅读