Vue.js 课堂上逻辑太多

Vue.js 课堂上逻辑太多,vue.js,methods,nuxt.js,Vue.js,Methods,Nuxt.js,所以我制作了这段代码,它按照它应该的方式工作 <tr v-for="(day, index) in days" :key="index" :class="[ { no_target: day.date.format('dddd') == 'Sunday' || day.date.format('dddd') == 'Saturday' },

所以我制作了这段代码,它按照它应该的方式工作

<tr
          v-for="(day, index) in days"
          :key="index"
          :class="[
            { no_target: day.date.format('dddd') == 'Sunday' || day.date.format('dddd') == 'Saturday' },
            { active: moment == day.date.format('Do dddd') },
          ]"
          class="calendar-row"
        >

这是将无目标类添加到周末,并将活动添加到今天。 然而,我的老板认为这是类内部太多的逻辑,希望我将其移动到方法或计算属性。 我似乎真的想不出解决这个问题的办法


你们这些头脑敏锐的人有没有办法解决这个问题?

我认为使用这样的方法会有所帮助

methods: {
    isHoliday(day) {
      const formattedDay = day.date.format("dddd");
      return ["Sunday", "Saturday"].includes(formattedDay);
    },
  },
所以你可以这样做

<tr v-for="(day, index) in days"
          :key="index"
          :class="[
            { no_target: isHoliday(day)},
            { active: moment == day.date.format('Do dddd') },
          ]"
          class="calendar-row">

那么:

<tr
          v-for="(day, index) in days"
          :key="index"
          :class="[
            { no_target: isHoliday },
            { active: isActive },
          ]"
          class="calendar-row"
        >
data() {
    return {
        isHoliday: false,
        isActive: false
    }
},
mounted: {
    IsHoliday()
    IsActive()
},
methods: {
    IsHoliday() {
     if (day.date.format('dddd') == 'Sunday' || day.date.format('dddd') == 'Saturday') {
         return true;
     } else {
            return false;
       }
    },
    IsActive() {
        if(moment == day.date.format('Do dddd')) {
            return true;
        }else {
            return false;
        }
    }
}