【问题标题】:convert similar computed properties to use just one将类似的计算属性转换为仅使用一个
【发布时间】:2022-01-14 17:47:54
【问题描述】:

我有这 3 个计算属性,是否可以将它们合二为一?

    first() {
      const mydate1 = new Date();
      mydate1.setDate(mydate1.getDate() + 1);
      return mydate1;
    },
    second() {
      const mydate2 = new Date();
      mydate2.setDate(mydate2.getDate() + 2);
      return mydate2;
    },
    third() {
      const mydate3 = new Date();
      mydate3.setDate(mydate3.getDate() + 3);
      return mydate3;
    },    

【问题讨论】:

  • “只有一个”是什么意思?您究竟想在这里实现什么目标?

标签: javascript vue.js vuejs2 vue-component


【解决方案1】:

为什么不创建一个返回新日期的方法getDate(offset),而不是使用计算属性?

methods: {
  getDate(offset) {
    const myDate = new Date();
    myDate.setDate(myDate.getDate() + offset);
    return myDate;
  }
}

【讨论】:

【解决方案2】:

这对于计算属性来说完全没问题...

dates() {
  const baseDate = new Date().getDate();

  const first = new Date();
  first.setDate(baseDate + 1);

  const second = new Date();
  second.setDate(baseDate + 2);

  const third = new Date();
  third.setDate(baseDate + 3);

  return { first, second, third };
},    

以前对second 的引用可以更改为dates.second。三个都一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 2017-11-03
    相关资源
    最近更新 更多