Как мне подключить express к vue приложению с помощью axios - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь подключить локальный express API к моему Vue приложению. Когда от I go до "http://localhost: 3000 / all " в браузере он показывает значения массива "myArr", как и ожидалось. Но я не могу заставить Ax ios вернуть значения массива в моем скрипте Vue. Я получаю сообщение об ошибке типа: «TypeError: Невозможно прочитать свойство 'get' of undefined".

Я искал какое-то время без удачи. Я нашел несколько потоков, которые предоставляют решения, связанные с сердечниками, но я не смог заставить их работать.

Как мне получить значения "myArr", которые будут отображаться в моем приложении vue?


Вот мой Express скрипт:

const express = require('express');

const myArr = ["one", "two", "three"];

console.log("server is starting");
const app = express();
const server = app.listen(3000);

app.get("/all", function sendAll(req, res) {
  res.send(myArr);
});

Вот мой Vue скрипт:

<template>
  <div class="container">
    <p>test</p>
    <p class="error" v-if="error">{{ error }}</p>
    <div class="item-container">
      <div
        class="items"
        v-for="(myItem, index) in myItems"
        v-bind:item="myItem"
        v-bind:key="index"
      >
        <p>{{ myItem }}</p>
      </div>
    </div>
  </div>
</template>

<script>
import { axios } from "axios";
export default {
  name: "vue-app",
  data() {
    return {
      myItems: [],
      error: ""
    };
  },
  async created() {
    const res = await axios.get("http://localhost:3000/all");
    this.myItems = res.data;
  }
};
</script>
//style

Пожалуйста, дайте мне знать, если смогу предоставить больше информации, я ценю любую / все помощь:)

1 Ответ

2 голосов
/ 11 января 2020

Значит, значение топора ios теперь равно не определено Решение: заменить : import { axios } from "axios"; К : import axios from 'axios';

...