компонент create.vue отправляет массив, в котором свойство данных chartLabels определяется как массив.
data() {
return {
report: {
licenseUsage: {
chartLabels: [],
}
...
Схема Mongoose определяет тип данных как массив
const ReportSchema = Schema(
{
licenseUsage: {
chartLabels: Array,
},
API для создания отчета:
app.post("/api/create", (req, res) => {
const report = new Report({
licenseUsage: {
chartLabels: req.body.licenseUsage.chartLabels,
}
...
});
report.save(err => {
if (err) return res.status(404).send({ message: err.message });
return res.send({ report });
});
запрос get с axios равен
created: function() {
this.getReport();
},
methods: {
getReport() {
axios.get("http://127.0.0.1:8000/api/report/" + this.$route.params.id).then(response => {
this.report = response.data.report
const { chartLabels } = response.data.report.licenseUsage
this.chartLabels = chartLabels
console.log(chartLabels)
});
},
},
если я проверяю консоль, то форма поля ввода является массивом
![enter image description here](https://i.stack.imgur.com/sHwpl.png)
, как только я нажимаю в формеи введите 3, 50, 56, 53, 3, 4 для проверки изменений консоли в строку
![enter image description here](https://i.stack.imgur.com/dtTxy.png)
axios возвращает данные в виде строки в массиве
["3, 50, 56, 53, 3, 4", __ob__: Observer]
0: "3, 50, 56, 53, 3, 4"
почему я получаю массив из 1 строки?Я ожидаю получить массив из 6 элементов, как это.
Array(6)
0: 3
1: 50
2: 56
3: 53
4: 3
5: 4
спасибо за любую помощь
- отредактируйте
, если массив жестко запрограммирован, а не определен как пустой массив, как, например, он работает с массивом из 6 элементов
chartLabels: [3, 50, 56, 53, 3, 4]
Может быть, вопрос в том, как вернуть массив из одного поля ввода формы?