第一节:初识vuex

什么是vuex?

vuex是专门为vue.js设计的集中式状态管理架构。 那么什么是状态?状态可以理解为不同组件中共用的data属性。

为什么要使用vuex?

做项目的时,难免会有组件之间的传值。我们都知道,对于父子组件之间的传值,父传子通过props,子传父通过事件机制,也就是子通过$emit发射参数,父通过$on接受。非父子组件通过创建一个公共的的Vue实例,其实也是利用了父子组件传值的方法。

但是如果组件之间的通信很多,而且多个组件嵌套,这样不仅增加了传值的难度,把业务逻辑搞复杂,而且会对数据的管理特别混乱。而vuex很好的解决了这一问题。

初体验

引入vuex

1、安装vuex

 npm install vuex --save

一定要加--save,因为这个包我们是要在生产环境中使用的。

2、新建一个vuex文件夹(非必须的),并创建store.js文件,文件中引入vue和vuex并使用。

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

接下来就可以愉快的玩耍了。

首先我们先做一个加减运算的demo体验一下。

1、在store.js中引入常量const

const state = {
    count: 3
}

通过export default 将Store的实例暴露出去。

export default new Vuex.Store ({
    state
})

2、新建vue模板,在模板中导入store.js文件。

import store from '@/vuex/store'
<template>
    <div>
        <h2>{{msg}}</h2>
        <hr/>
        <h3>{{$store.state.count}}</h3>
    </div>
</template>
<script>
    import store from '@/vuex/store'
    export default{
        data(){
            return{
                msg:'加减运算'
            }
        },
        store
        
    }
</script>

此时我们在页面上就可以看到

下面添加两个加减按钮,通过点击按钮来改变值。

1、在模板中添加两个button按钮。

<template>
    <div>
        <h2>{{msg}}</h2>
        <hr/>
        <h3>{{$store.state.count}}</h3>
        <button @click = "$store.commit('add')">+</button>
        <button @click = "$store.commit('reduce')">-</button>
    </div>
</template>
<script>
    import store from '@/vuex/store'
    export default{
        data(){
            return{
                msg:'加减运算'
            }
        },
        store
        
    }
</script>

2、在store.js中加入两个改变state的方法。(这里的mutations是固定写法。

const mutations={
    add(state){
        state.count++;
    },
    reduce(state){
        state.count--;
    }
}

然后我们就可以在页面点击按钮来实现数值的加减。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应...
    白水螺丝阅读 10,121评论 7 61
  • Vue也已经升级到2.0版本了,到现在为止(2016/11/19)比较流行的MVVM框架有AngularJS(也有...
    彬_仔阅读 27,336评论 12 114
  • 工作中总有那么几个人或是一个人总是前面一套背面一套的。如果你不是看到她在背后和你讨论别人的坏话,而在那个她讨论的人...
    随心127阅读 3,968评论 0 0
  • 我写了很多很多字吧。 但是失手返回了。 我还想看到它。 但我没有精力了。 一个关于头像的故事。 我只要知道,我写下...
    16864db61499阅读 1,459评论 0 1
  • 每个孩子都是这样在上帝的旨意下, 打着灯,踏雪而来, 寻你,在这茫茫人海中寻你,寻你们…… 寻这一世情深缘深的父母...
    一坛子泡菜阅读 2,962评论 0 2

友情链接更多精彩内容