Vuejs: вызов создал () хук дважды - PullRequest
0 голосов
/ 25 февраля 2019

Я создал ловушку для перезагрузки моих данных из базы данных нажатием кнопки:

<template>
  <base-projects :projects="projects" />
</template>

<script>
import { mapGetters } from 'vuex';
import Projects from './Projects';
import projectService from '@/services/projectService';

export default {
  components: { Projects },
  computed: {
    ...mapGetters([
      'projects'
    ])
  },
  created() {
    projectService.getAllCompanyProjects();
  },

};
</script>

Так что это работает нормально, но только если я нажму первый раз.Если я нажму второй раз, данные не будут перезагружены во второй раз.Кто-нибудь знает, как решить эту проблему?

Заранее спасибо!

1 Ответ

0 голосов
/ 25 февраля 2019

Я предполагаю, что ваши данные загружаются из вашей базы данных с использованием функции projectService.getAllCompanyProjects();.Поскольку вы хотите перезагрузить ваши данные по «клику», я предлагаю вам связать событие «клика» с одним из методов вашего компонента.

<template>
  <base-projects :projects="projects" @click.native="reloadData" />
</template>

<script>
import { mapGetters } from 'vuex';
import Projects from './Projects';
import projectService from '@/services/projectService';

export default {
  components: { Projects },
  computed: {
    ...mapGetters([
      'projects'
    ])
  },
  methods: {
    reloadData() {
      projectService.getAllCompanyProjects();
    }
  }    
};
</script>

Метод reloadData будет вызван «щелчком»на DOM вашего base-projects компонента.

...