Итак, чего я хочу добиться - это использовать v-if, вызывая метод, и внутри метода изменить свойство внутри данных, как только это будет сделано, вернуть true, чтобы элемент отображался.
Пример:
export default {
data() {
return {
lastMonths: [
{
month: '11',
monthNumber: moment().format('MM'),
printed: false
},
{
month: '10',
monthNumber: moment().subtract(1, 'months').format('MM'),
printed: false
},
{
month: '9',
monthNumber: moment().subtract(2, 'months').format('MM'),
printed: false
}
]
}
},
methods: {
displayOptgroup(index, month) {
if (!this.lastMonths[index].printed && (this.lastMonths[index].monthNumber == month)) {
this.lastMonths[index].printed = true;
return true;
}
return false;
},
}
}
<div>
<span class="optgroup" v-if="displayOptgroup(0, option.month)">{{ lastMonths[0].month }}</span>
</div>
Но ничего не появляется, но как только я комментирую строку, где я установил print = true, тогда это работает!
Я могу 'Я не понимаю, почему это происходит.Я пытался с вычисленными свойствами сам, вычисленные свойства вызывая метод и изменяя там, но с тем же результатом.
Спасибо.