有人能解释为什么这个console.log
输出是null
,以及我如何修复它吗?
<template v-for="day in getMonthLength()" >
<td >
<input :id="day" type=number :value="dataa.value">
</td>
<td v-if="getLastTd(day)"> <input type=number></td>
</template>
getLastTd(day) {
console.log(document.getElementById(day));
}
几个指针:
-
理想情况下,在Vue中访问使用refs的元素:https://v3.vuejs.org/guide/component-template-refs.html
-
元素是
null
,因为您有一个v-if
,它不会产生true
,因此元素不会显示。 -
v-if
需要解析为布尔值。示例v-if="person.age > 18"
-
我猜上面是";测试代码";。如果您只是想运行一个函数,那么将其绑定到单击事件比
v-if
中更容易。示例<button @click="getLastTd(day)">...