实现多组件状态管理,多个组件之间需要数据共享
其中state和mutation是必须的,其他可根据需求来加
1.创建store实例并且导出 store.js
- import Vue from 'vue'
- import Vuex from 'vuex'
- Vue.use(Vuex)
- const store = new Vuex.Store({
- //声明state
- state: {
- userInfo:{ userName:"" }
- },
- //声明mutations
- mutations: {
- setUserInfo(state,userInfo){
- state.userInfo = userInfo
- }
- },
- //声明actions
- actions: {
- setUserInfo({ commit },userInfo){
- commit('setUserInfo',userInfo)
- }
- },
- //声明getters
- getters:{
- userName(state){
- return "姓名:"+state.userInfo.userName
- }
- }
- })
- export default store
2.引入Vuex
- import Vue from 'vue'
- import App from './App.vue'
- import store from './store'
- new Vue({
- render: h => h(App),
- store
- }).$mount('#app')
使用方式一
{{$store.state.userInfo.userName}}
{{$store.getters.userName}}
存储信息
- export default {
- methods: {
- setInfo(){
- this.$store.commit('setUserInfo',{
- userName:"鬼鬼"
- })
- }
- }
- }
使用方式二
{{userInfo.userName}}
{{userName}}
存储信息
- import { mapState, mapGetters, mapMutations, mapActions } from 'vuex'
- export default {
- methods: {
- ...mapActions(['setUserInfo']),
- // ...mapMutations(["setUserInfo"]),
- setInfo(){
- this.setUserInfo({
- userName:"鬼鬼"
- })
- },
- computed: {
- ...mapState({
- userInfo: state => state.userInfo
- }),
- ...mapGetters(['userName']),
- }
- }
本文转载自微信公众号「前端人」,作者鬼哥。转载本文请联系前端人公众号。
分享文章:我们一起看看Vuex使用流程是什么样的?
分享路径:http://www.mswzjz.cn/qtweb/news8/451158.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能