Vuex 101 스니펫
8638 단어 vuefrontendjavascriptvuex
뷰엑스 101
Vuex는 Vue.js용 상태 관리 라이브러리입니다.
5가지 주요 개념이 있습니다.
코드 조각
파일
/src/main.js
import Vue from 'vue';
import App from './App.vue';
import store from './store';
new Vue({
store,
render: h => h(App)
}).$mount('#app');
파일
/src/store/index.js
import Vuex from 'vuex';
import Vue from 'vue';
import todos from './module/todos';
// Load Vuex
Vue.use(Vuex);
// Create store
export default new Vuex({
modules: {
todos
}
});
파일
/src/store/modules/todos.js
import axios from 'axios';
// we use axios to fetch data from remote API
const state = {
todos: []
};
const getters = {
allTodos: (state) => state.todos;
};
const actions = {
async fetchTodos({commit}) {
const reponse = await axios.get('jsonplaceholder.typicode.com/todos');
commit('setTodos', reponse.data);
}
};
const mutations = {
setTodos: (state, todos) => (state.todos = todos);
};
export default {
state,
getters,
actions,
muations
};
파일
/src/components/todos.vue
<template>
<div>
<h3> Todos </h3>
<div class="todos">
<div v-for="todo in allTodos" :key="todo.id">
{{ todo.title }}
</div>
</div>
</div>
</template>
<script>
import { mapGetters, mapActions } from 'vuex';
export default {
name: 'Todos',
methods: {
...mapActions(['fetchTodos'])
},
computed: {
...mapGetters(['allTodos'])
},
created() {
this.fetchTodos()
}
}
</script>
<style>
</style>
Reference
이 문제에 관하여(Vuex 101 스니펫), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yonas/vuex-101-snippet-37fh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)