Test test</span></div><span class="fonth5_bold mt3">Sep ">01, 2022</span>
то ничего плохого, кроме "некрасивости". const repoMap = {
"api-repo-1": ApiRepo1,
"api-repo-2": ApiRepo2
} as const;
any
просто BaseRepository
, т.к. оба варианта должны оный имплементировать. Но я так понял у вас разница какая-то есть... @input
- метод, который делает "update" commit, мутация же сама внутри себя находит конкретный item по id и обновляет значение конкретного поля.mutations: {
updateItemThumb(state, { id, thumb }) {
const item = state.allItems.find(item => id === item.id);
if (item) item.thumb = thumb;
}
}
data: {
changes: {}
}
:value="(changes[item.id] || item).title" @input="updateItemTitle(item.id, $event.target.value)"
methods: {
updateItemTitle(id, title) {
if (!this.chages[id]) this.$set(this.changes, id, { title });
else this.chages[id].title = title;
},
saveChanges() {
const allItems = this.$store.state.allItems.map(item => {
if (item.id in this.changes)
return {...item, ...this.changes[id]};
return item;
});
this.$store.commit('allItems', allItems);
}
}
item.thumb = $event.target.files[0].name
, только через коммит. <AllFriends/>
куда либо, то "Отрабатало!" должно появляться в консоли ровно один раз. ts-ignore
в коде быть не должно. Решение "проблем" с типами, особенно в таких стандартных юзкейсах как у тебя, нагугливаются на раз два. <div>
<div v-for="foo in receivedData.foo" class="fixed-size">
<template v-if="!loading">
{{ foo }}
<template>
</div>
{{ receivedData.bar }}
</div>
data() {
return {
receivedData: {
foo: 10,
bar: 'Loading'
},
this.loading: true
}
},
<div v-if="loading" class="fixed-size">
Loading
</div>
<div v-else class="fixed-size">
<div v-for="foo in receivedData.foo">{{ foo }}</div>
{{ receivedData.bar }}
</div>
Меня бы устроили размеры компонента без данных с файлаЕщё раз: откуда ты их знаешь? Если они фиксированы в css и количество элементов в
receivedData.foo
тоже известно, то см. выше. Если же размеры зависят от текста, что прилетит и количество элементов может быть разным - размер может быть произвольным.
Если ты сделаешь так:
Уже никакой ошибки не будет.