Home > Blockchain >  Vue.js computed boolean incorrect
Vue.js computed boolean incorrect

Time:05-13

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)
        }
    }
})

CodePudding user response:

Arrow function wouldn't bind this for Computed

Try:

startLTEndDate() {    
  return(Date.parse(this.dateStart) < Date.parse(this.dateEnd))
}

  • Related