Vue-vuex 사용
데이터 집중 식 관리
정의 데이터
store/index.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
const store = new Vuex.Store({
// :
state: {
name: 'hello Vuex',
age:'18',
role:2
},
// : state
mutations: {
//
edit(state, payload){
state.name = 'zhangsan'
Vue.delete(payload,'age') //
Vue.set(payload,'host','192.168.1.1') // ,
console.log(payload);
}
},
// : , , computed
getters: {
// state ,
nameInfo(state){
return " :"+state.name
},
//getters: getters
fullInfo(state, getters){
return getters.nameInfo+", :"+state.age
},
// : ,
roleName(state){
switch (state.role) {
case 1:
return ' '
case 2:
return ' '
case 3:
return ' '
}
}
},
//
actions: {
aEdit(context, payload){
setTimeout(()=>{
context.commit('edit',payload)
},2000)
}
}
});
export default store
호출
App.vue
<template>
<div id="app">
<!-- -->
name: {
{
$store.state.name}} <br>
<!-- -->
<button @click="add">vuex button test</button>
<br/>
<!-- -->
-------------------------------------------------<br>
getters:<br/>
{
{
$store.getters.fullInfo}}<br>
{
{
$store.getters.roleName}}<br>
<!-- -->
actions: <br>
<button @click="edit">action button test</button>
<br>
-------------------------------------------------<br>
<!-- -->
mapGetters: <br>
{
{
rname}} - {
{
uname}}
</div>
</template>
<script>
import {
mapGetters,mapState,mapMutations} from 'vuex'
export default {
name: 'App',
components: {
},
methods: {
add: function () {
//
//this.$store.commit('edit',{"name":"lisi","age":"18"})
//console.log(this.$store.state);
//
/*this.$store.commit({
type:'edit',
payload: {
"name": "hanmeimei",
"age": 18
}
})*/
//
this.modify({
"test":'test'})
},
edit(){
//
this.$store.dispatch('aEdit',{
country: ' '})
},
// edit
...mapMutations({
'modify': 'edit'
})
},
computed: {
//
//...mapGetters(['roleName'])
//
...mapGetters({
'rname': 'roleName'
}),
...mapState({
'uname': 'name'
})
}
}
</script>
<style>
</style>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue Render 함수로 DOM 노드 코드 인스턴스 만들기render에서createElement 함수를 사용하여 DOM 노드를 만드는 것은 직관적이지 않지만 일부 독립 구성 요소의 디자인에서 특수한 수요를 충족시킬 수 있습니다.간단한 렌더링 예는 다음과 같습니다. 또한 v...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.