vuex的使用二
Posted JaydenLD@Clara
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vuex的使用二相关的知识,希望对你有一定的参考价值。
1.先看项目的目录结构
2.在main.js里需要引入store这个文件并挂在实例上
import store from \'./store/store\' ............ new Vue({ el: \'#app\', router, store, template: \'<App/>\', components: { App } })
3.store.js里引入action.js和mutation.js文件
// 状态管理器
import Vue from \'vue\'
import Vuex from \'vuex\'
import actions from \'./action\'
import mutations from \'./mutation\'
Vue.use(Vuex)
const store = new Vuex.Store({
state : {
author: \'Wise Wrong\',
amsg: \'\',
},
actions,
mutations,
getters:{
author(state){
console.log(state)
return state.author
}
}
})
export default store
4.action.js
import * as types from \'./mutation_type\'
export default{
newAuthor({commit},bData){
commit(types.NEWAUTHOR,bData);
}
}
5.mutation.js
import * as types from \'./mutation_type\'
export default{
[types.NEWAUTHOR](state,msg){
state.author=msg;
}
}
6.mutation_type.js
export const SEND_A="SEND_A"
export const NEWAUTHOR="NEWAUTHOR"
7.head.vue
temple: <form class="navbar-form navbar-left"> <div class="form-group"> <input type="text" v-model="inputTxt" class="form-control" placeholder="通过input改变author"> </div> <button type="button" class="btn btn-default" @click="setAuthor">Submit</button> </form> script: data () { return { inputTxt:"" } }, methods:{ setAuthor: function () { this.$store.dispatch("newAuthor", this.inputTxt); } }
8.foot.vue
<p> Copyright © author:{{author}} - 2016 All rights reserved </p> import { mapGetters} from \'vuex\' computed: { ...mapGetters([\'author\']) }
9.效果
以上是关于vuex的使用二的主要内容,如果未能解决你的问题,请参考以下文章