VladSavelev
@VladSavelev
Good man

Как перебрать во VUE.JS c помощью v-for обьекты которые я получаю от сервера?

Вначале я получаю свои обьекты

created() {
            this.$http.get('/api/main-page/transports/get-transports').then(response => {
                this.personalTransportTabs = response.body.personalTransportTabs;
                this.dataLoaded = true;
            }).catch(error => {
                console.log(error);
            });
        }


После чего как я понимаю нужно передать это в data

data() {
            return {
                personalTabs: this.personalTransportTabs
            };  
        },


После чего мы проходим c помощью v-for по нему.

<el-tab-pane v-for="personalTab in personalTabs" :label="personalTab.name" >{{ personalTab.name }}</el-tab-pane>


Что я делаю не так ?
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
this.$set
created() {
            this.$http.get('/api/main-page/transports/get-transports').then(response => {//Эта функция будет выполнена после инициализации
                this.$set(this,'personalTabs',  response.body.personalTransportTabs);
                this.dataLoaded = true;
            }).catch(error => {
                console.log(error);
            });
        },
data() {
            return {
                personalTabs: []
            };  
        },
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Поля в data реактивны, просто делайте присваивание когда получаете данные:
this.personalTabs = response.body.personalTransportTabs;

Это вызовет автоматический перерендеринг.

Вот это у вас не будет работать: personalTabs: this.personalTransportTabs. Т.к. инициализация data происходит один раз при создании экземпляра.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект