我创建了一个挂钩,以从数据库中重新加载我的数据:
:<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>
这样可以正常工作,但是只有我第一次单击。如果我再次单击第二次,则不会第二次重新加载数据。有人知道如何解决这个问题吗?
预先感谢您!
我假设您的数据使用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
方法将通过base-projects
组件的DOM上的"单击"触发。