我已經習慣了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