【发布时间】:2019-05-02 16:51:12
【问题描述】:
我希望能够比较 vue 中的两个日期,如果日期小于今天的日期,则向 div 添加一个类。这是我的代码:
<tr v-for="car in cars">
<div v-if="Date.now() <= new Date(car.ContractDate)">if true, add class to this div</div>
</tr>
但我收到了这个错误:
[Vue 警告]:实例上未定义属性或方法“car” 但在渲染期间引用。确保该属性是 反应式,无论是在数据选项中,还是对于基于类的组件,通过 初始化属性。
当我尝试在我的v-for 中执行<td>{{ car.ContractDate }}</td> 时,我没有任何问题。
【问题讨论】:
-
您的问题可能是因为 v-if 在收到数据之前正在运行。也许尝试使用计算属性来确定条件。或者你可以试试
v-if="cars.length >= 1 && YOUR_DATE_COMPARISON" -
不,如果有帮助,我得到的结果与我在此处粘贴整个代码的结果相同:pastebin.com/MmBcp0Bx
-
您可以尝试使用一种方法来确定 v-if。这是jsfiddle example。方法将允许您传入汽车对象的日期,然后您可以检查并为 v-if 返回 true 或 false。如果您想将类绑定到元素,@DerekPollards 示例也应该可以工作。
标签: vue.js