'Vue.js computed boolean incorrect
I need a computed property for whether startDate is less than endDate. For some reason when I code it as below, the computed property always computes as false even though the expression is correct. See Pen
HTML:
<div id="app">
dateStart: {{ dateStart }} <br>
dateEnd: {{ dateEnd }} <br>
computed dateStart < dateEnd: {{ startLTEndDate }} <br>
expr dateStart < dateEnd: {{ Date.parse(dateStart) < Date.parse(dateEnd) }} <br>
</div>
JS:
var app = new Vue ({
el: "#app",
data() {
return {
dateStart: '2010-01-01',
dateEnd: '2011-01-01'
}
},
computed: {
startLTEndDate: () => {
return Date.parse(this.dateStart) < Date.parse(this.dateEnd)
}
}
})
Solution 1:[1]
Arrow function wouldn't bind this for Computed
Try:
startLTEndDate() {
return(Date.parse(this.dateStart) < Date.parse(this.dateEnd))
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Apicha Junyatanakron |