我已经习惯了Vuex
,因为我需要能够拥有一个商店,当另一个组件发生变化时,我可以轻松访问和更新商店。VueJS - Vuex分配突变数据
目前,我store
如下所示:
import vue from 'vue';
import Vuex from 'vuex';
vue.use(Vuex);
export default new Vuex.Store({
state: {
users: {
columns: [],
model: [],
}
},
mutations: {
fetchUsers: function(state) {
axios.get(`/users?search_input=`)
.then(function(response) {
});
}
}
});
的columns
和model
动态下降从一个Ajax请求拉着我的Users
如下所示:
<script>
export default {
mounted() {
this.$store.commit('fetchUsers');
},
computed: {
columns() {
return this.$store.state.users.columns;
}
model() {
return this.$store.state.users.model
}
},
}
</script>
我的问题是该应用程序需要从Ajax预装数据。例如columns
从fetchUsers
中的ajax请求中设置,在Users
中我使用this.$store.commit('fetchUsers');
,但是有没有其他方法可以在不使用商店本身的情况下使用commit
?
Vuex [突变](https://vuex.vuejs.org/en/mutations.html)** **发生变异的状态 - 这是您对状态进行更改的地方 - 它们始终是同步的。 Vuex [actions](https://vuex.vuejs.org/en/actions.html)会执行诸如网络请求等_things_来获取数据 - 它们可以是异步的。一旦你发送一个动作,你需要通过一个变种来提交它。 – wing