#javascript #vue.js
Вопрос:
Это мой код:
<template v-for="day in getMonthLength()" >
<td :id='notempty' v-for="dataa in data" v-if="dataa.employee_id === employee.id">
<input type="number" :value="dataa.value">
</td>
<td :id='empty'>
<input type="number">
</td>
</template>
Поэтому, если отображается td-тег с идентификатором «пусто» (v-если однократно верно) в <template>
цикле выполнения
, td с идентификатором «пусто» не должен отображаться (игнорироваться/не интерпретироваться) в <template>
цикле выполнения. И если тег td «пусто» не отображается (каждый v-if имеет значение false в цикле td), пустой тег должен отображаться
V-Else в теге td «пусто», как показано ниже, не работает, из-за v-for в теге td «пусто». пустой тег td будет отображаться каждый раз, когда сотрудник.идентификатор не равен.
<template v-for="day in getMonthLength()" >
<td :id='notempty' v-for="dataa in data" v-if="dataa.employee_id === employee.id">
<input type="number" :value="dataa.value">
</td>
<td v-else :id='empty'> <---------
<input type="number">
</td>
</template>
Комментарии:
1. как насчет
id
динамической настройки в зависимости от вашего состояния? тогда вам не понадобится второйtd
тег. также то же самое для:value
2. @MohammadMirsafaei спасибо, это хорошая идея, но как я могу привязать :значение к условию или как динамически установить его для моего v-if
Ответ №1:
Просто используй <template>
еще раз. Не забудьте разместить :key
на элементах, созданных с помощью v-for
<template v-for="day in getMonthLength()" >
<template v-for="dataa in data">
<td :id='notempty' v-if="dataa.employee_id === employee.id" :key="dataa.employee_id">
<input type="number" :value="dataa.value">
</td>
<td v-else :id='empty' :key="dataa.employee_id">
<input type="number">
</td>
</template>
</template>