Я хотел установить поля внутри данных, используя геттеры:
export default {
data () {
return {
medications: [],
}
},
computed: {
...mapGetters([
'allMedications',
'getResidentsById',
]),
Я хотел установить medications = allMedications
, я знаю, что мы можем использовать {{allMedications}}
, но моя проблема в том, что у меня есть:
medications {
name: '',
resident: '', this contains id
.......
}
Теперь я хотел позвонить getResidentsById
и установить дополнительное поле на лекарства как:
medications {
name: '',
resident: '', this contains id
residentName:'' add an extra computed field
.......
}
Я сделал так:
watch: {
allMedications() {
// this.medications = this.allMedications
const medicationArray = this.allMedications
this.medications = medicationArray.map(medication =>
({
...medication,
residentName: this.getResidentName(medication.resident)
})
);
},
},
method: {
getResidentName(id) {
const resident = this.getResidentsById(id)
return resident && resident.fullName
},
}
Но это кажется проблемой, потому что только когда есть изменения в allMedications , тогда метод на watch становится активным и устанавливается residentName .