@kirill-93

Как вызвать метод, при изменении данных?

<ul>
    <li v-for="user in users">{{ showName(user) }}<li>
</ul>

...
methods: {
    showName(user) {
        if (user.name && !user.lastname) {
            return 'Some value';
        } else if (...) {
            ...
        } else {
            return user.name;
        }
    }
}
...


В коде выше у меня может измениться какое-нибудь значение в списке users, но метод showName не будет перевызван. Что делать? Фильтры можно использовать, когда я передаю значение конкретное, а тут у меня объект и по условию я возвращаю разные поля объекта.
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 3
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Должно поменяться, добавьте key:
<li v-for="user in users" :key="user.id">{{ showName(user) }}<li>
Ответ написан
Комментировать
@hopeful_romantic
попробуй computed
computed: {
        showName(user) {
            if (user.name && !user.lastname) {
                return 'Some value';
            } else if (...) {
            ...
            } else {
                return user.name;
            }
         }
      }
Ответ написан
Комментировать
emilov
@emilov
Фрилансер
хук createad()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы