首页 > 解决方案 > 从方法对象数组返回值

问题描述

我正在 Vue.js 中构建一个日期范围选择器,并且我创建了一组预设范围的方法

presetRanges:{
  last7Days(){
    return{
      label: 'Last 7 days',
      dateRange:{
        start: this.$moment(today).substract(7, 'd')
      }
    }
  },
  last30Days(){
    return{
      label: 'Last 30 days',
      dateRange:{
        start: this.$moment(today).substract(30, 'd')
      }
    }
  },
  last60Days(){
    return{
      label: 'Last 60 days',
      dateRange:{
        start: this.$moment(today).substract(60, 'd')
      }
    }
  },
}

在 for 循环中,我想显示每个方法的返回标签。以下代码是我以前做的,但显然它不再起作用了?

<li v-for="(item, idx) in presetRanges" :key="idx">"
  {{ item.label }} 
</li>

我也试过{{ item().label }}了,也不行。

标签: javascriptvue.jsecmascript-6

解决方案


你可能弄错了你的对象结构,函数应该写a: () => ()在对象中,所以你的问题的解决方案是这样的https://codepen.io/mohithg/pen/VGEjrV?editors=1011


推荐阅读