Vue: передать значение метода A в methodB - PullRequest
1 голос
/ 23 сентября 2019

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

 methods: {
    displayClasslists() {
      this.$Progress.start();
      axios
        .get("/api/labview/" + this.$route.params.placeName)
        .then(({ data }) => this.$Progress.finish((this.classlists = data)));
    },
    uScore: function() {
      const elements = this.classlists.map(e => e.id);
      console.log(elements);
    }
  },

вот что я получаю:
[Vue warn]: Error in mounted hook: "TypeError: this.classlists.map is not a function" Это мои json списки классов
enter image description here

1 Ответ

3 голосов
/ 23 сентября 2019

Вот несколько предложений:

  1. Поскольку uScore не принимает никаких аргументов и зависит только от classlists, то, вероятно, это должно быть вычисляемое свойство .
  2. Ваша текущая реализация uScore ничего не возвращает.
  3. Вы должны инициализировать classlists как пустой массив, чтобы избежать ошибки.
export default {
  data() {
    return { classlists: [] };
  },
  computed: {
    uScore() {
      return this.classlists.map(e => e.id);
    },
  },
  methods: {
    displayClasslists() {
      this.$Progress.start();
      axios.get(`/api/labview/${this.$route.params.placeName}`).then(({ data }) => {
        this.classlists = data;
        this.$Progress.finish();
      });
    },
  },
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...