Nolis
@Nolis
it-гопник

Как пофиксить деструктуризацию?

Есть список городов, который забирается из хранилища
ul.cities-list
 li.cities-list__item(
 v-for="city in CITIES_LIST_MAIN"
 @click="selectCity"
 v-bind="cityChoiceBinds"
 )
 | {{city.name}}


Есть бинд:
Перебираем объект городов, которые к нам пришли и возвращаем:
cityChoiceBinds() {
 this.CITIES_LIST_MAIN.map((item) => {
  return item
 })
}


По клику города, отрабатывает:
selectCity(e, { cityCode, storeId, name }) {
 this.CHANGE_CITY({
  cityCode,
  storeId,
  name,
 })
},


В объекте который прилетает из геттера CITIES_LIST_MAIN
Все эти свойства есть. Может логика не такая? Или я в затупе?
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
@click="selectCity"

selectCity(e, { cityCode, storeId, name }) {

А что вы собрались деструктурировать-то? - элементы CITIES_LIST_MAIN в функцию не передаются. Надо передать. А объект события не нужен, он в selectCity не используется, так что убираем его из списка параметров (но если вдруг в будущем понадобится, доступен в шаблоне как $event):

@click="selectCity(city)"

selectCity({ cityCode, storeId, name }) {
  ...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Функция cityChoiceBinds() ничего не возвращает, а map в ней не имеет смысла.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы