#javascript #express #vue.js #vue-component
#javascript #выразить #vue.js #vue-компонент
Вопрос:
Я сам изучаю Javascript. Я работаю с Vuejs amp; express над CRUD-приложением.
В компоненте я запрашиваю свой серверный интерфейс через мой api: localhost:3000 / api / transport Ответ дает мне все объекты из БД.
С помощью этого ответа я хочу реализовать объект для создания календаря с использованием vue-val
компонента.
Это мой сценарий компонента :
<script>
import VueCal from 'vue-cal'
import 'vue-cal/dist/vuecal.css'
import axios from 'axios'
export default {
components: { VueCal },
data() {
return {
transport: [],
events: [
/*{
start: '2021-01-21 10:30',
end: '2021-01-21 11:30',
title: 'Rdv dentiste',
content: '<i class="v-icon material-icons">local_hospital</i>',
class: 'health'
},*/
],
};
},
mounted() {
this.getTransport();
},
methods: {
getTransport: function() {
this.loading = true;
axios.get('http://127.0.0.1:3000/api/transport/')
.then((response) => {
this.transport = response.data;
this.implementEvents(this.transport);
this.loading = false;
})
.catch((err) => {
this.loading = false;
console.log(err);
})
},
implementEvents: function(transports) {
for(var transport in transports) {
console.log(transport.id)
this.events.push({
start: transport.startDate,
end: transport.endDate,
title: transporte.designation
})
}
}
}
};
</script>
implementEvents
функция принимает мой ответ на параметр, но я не знаю, почему не реализует массив событий.
Если я заменю приведенный ниже код, это сработает.
implementEvents: function(transports) {
for(var transport in transports) {
console.log(transport.id)
this.events.push({
start: '2021-01-21 10:30',
end: '2021-01-21 10:30',
title: 'test'
У кого-нибудь есть идея?
Комментарии:
1. работает ли консоль. вывод инструкции журнала, как ожидалось?
2. Нет. На консоли у меня просто «9 неопределенных». 9 соответствует количеству записей в базе данных
3. аргумент «переносит» … это массив объектов?
Ответ №1:
Попробуйте использовать forEach вместо for-in
implementEvents: function(transports) {
trnsports.forEach(transport => {
console.log(transport.id)
this.events.push({
start: transport.startDate,
end: transport.endDate,
title: transporte.designation
})
})
}