@VueProgrammer

Как в компоненте вывести загруженные данные?

Существует джаваскрипт файл, в котором содержится следующая функция:

export const actions = {
  async loadFunction({ commit }) {
    try {
      const plans = await Parse.Cloud.run('getFunction', {}, {});
      commit('setFunction', plans);
    } catch (error) {
      commit('setFunction', null);
      return null;
    }
  },
};

Как вызвать эту функцию и получить результат в файле index.vue в этом разделе цикла:

<TItem
          v-for="
     (index, item) in ?????
          :key="index"
          :tplan="item"
          @delete="deleteItem(index)"
        />

Импорт функции в файл index.vue я сделал.
  • Вопрос задан
  • 649 просмотров
Решения вопроса 2
bootd
@bootd
Гугли и ты откроешь врата знаний!
// store
export const state = () => ({
	functions: []
});

export const actions = {
  async loadFunction({ commit }) {
    try {
      const plans = await Parse.Cloud.run('getFunction', {}, {});
      commit('setFunction', plans);
    } catch (error) {
      commit('setFunction', null);
      return null;
    }
  },
};

export const mutations = {
	setFunction: (state, payload) => {
		state.functions = payload;
	}
}


// Ваш копонент, где вы отображаете TItem
<template>
	<div>
		<TItem
          v-for="(item, index) in functions"
          :key="index"
          :tplan="item"
          @delete="deleteItem(index)"
        />
	</div>
</template>

<script>
import { mapState } from 'vuex'

export default {
	//....
	computed: {
		...mapState([
			'functions'
		])
	}
	//...
}
</script>
Ответ написан
Комментировать
Судя по всему это писали не Вы и вырвано это из контекста, а точнее vuex store.

Помимо actions должны быть state, mutations.

Эта функция в таком виде работать не будет.

Если она получает данные, то создается мутация setFunction, которая меняет state. Далее желательно создать геттер (условный getData), который будет возвращать вам данные.

А в компоненте создаете вычисляемое свойство с подходящим названием и с помощью геттера получаете данные.

И вот это свойство указываете в цикле.
Все просто

П.с. пока писал - Дмитрий все как раз изобразиь)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега Vue.js
Thinking about a11y
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы