首先我在vue的官网找到了vuex的官方配置文件
我们先做一个简单页面input传值
第一步 (引用并调用vue )在main.js里
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store/index.js'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
})
第二步 (实现点击按钮功能)首页
<template>
<div class="hello">
<input type="text" v-model="text" />
<button @click=addShop(text)>点击</button>
</div>
</template>
<script>
//导入异步提交
import {mapActions} from 'vuex'
export default {
data () {
return {
text:9
}
},
methods:{
//异步提交
...mapActions([
"addShop"
])
}
}
</script>
第三步 (通过点击的事件来配对相对vuex里的事件)actions.js
export const addShop = function ({commit}, shop) {
console.log("action的参数是"+shop)
//点击发送me的事件 并将传来的内容给发送出去
commit("me", shop)
}
第四步 (将发送来的‘me’事件来处理 将vuex里的state里的good来改变值) mutations.js
const mutations = {
["me"](state, shop) {
state.good=shop
// state.good = shop;
console.log("我是mutation"+shop)
}
}
export default mutations
第五步 (配置vue里的状态) state.js
const state = {
good:999
}
export default state
第六步 (也是最后一步 第二个页面来接受第一个页面传来的内容 ) 第二个页面
<template>
<div class="hello">
<!--页面输出-->
{{good}}
</div>
</template>
<script>
//导入获取
import {mapGetters} from 'vuex'
export default {
},
//调用获取的方法 将vx里的good里给调出来
computed:mapGetters([
'good'
])
}
</script>
然后就可以点击输入以后 来到第二个页面查看内容
网友评论