全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

分分钟学会vue中vuex的应用(入门教程)

vuex.js

状态(数据)管理

在vue中当我们管理数据的时候比较乱,我们要用到下面的这个库,vuex.js

Vuex介绍

每一个Vuex应用的核心就是store(仓库),他是用来存储数据的

"store" 基本上就是一个容器,它包含着你的应用中大部分的状态(state)。Vuex 和单纯的全局对象有以下两点不同

1.Vuex 的状态存储是响应式的

2.你不能直接改变 store 中的状态

vuex有6个概念

  • Store(最基本的概念)(创库)
  • State (数据)
  • Getters(可以说是计算属性)
  • Mutations
  • Actions
  • Modules

让我们看看怎么来创建一个创库

store 用来储存数据(状态)

new Vuex.Store({})

数据我们放到state里面

state:{}

让我们看看怎么来读取里面的数据

store.state.数据

接下来让我们看看怎么去修改数据

mutations: {}

我们怎么调mutations的数据

用commit()方法来调用

接下来让我们做一个小效果来看一下vuex在vue中怎么应用

我们做一个购物车加减按钮的效果

运行效果

<div id="app"></div>

<template id="tpl">
  <div>
    <tip></tip>
    <but></but>
  </div>
</template>

<script>

  var store = new Vuex.Store({
    state:{
      count:0
    },
    mutations:{
      jia (state) {
        state.count++
      },
      jian (state) {
        state.count--
      }
    }
  });

  var vm = new Vue({
    el:"#app",
    template:"#tpl",
    components:{
      tip:{
        template:"<div>{{$store.state.count}}</div>"
      },
      but:{
        template:`
          <div>
            <input type="button" value="+" @click="$store.commit('jia')"/>
            <input type="button" value="-" @click="$store.commit('jian')"/>  
          </div>
        `
      }
    },
    store
  });
</script>

我们从store里面获取的数据最好放到计算属性中

当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用mapState辅助函数帮助我们生成计算属性

下面我们做一个小的效果(注意:注释的计算属性和下面使用mapState辅助函数2个结果是相同的)

当映射的计算属性的名称与 state 的子节点名称相同时,我们也可以给 mapState 传一个字符串数组。

运行效果

<script>
  //我们从store里面获取的数据最好放到计算属性中
  var store = new Vuex.Store({
    state:{
      count:0,
      num1:1,
      num2:2
    },
    mutations:{
      jia (state) {
        state.count++
      },
      jian (state) {
        state.count--
      }
    }
  });
  var vm = new Vue({
    el:"#app",
    template:"#tpl",
    components:{
      tip:{
      //创建计算属性
      
        // computed:{
        //   count(){
        //     return this.$store.state.count;
        //   },
        //   num1(){
        //     return this.$store.state.num1;
        //   },
        //   num2(){
        //     return this.$store.state.num2;
        //   }
        // },
        //使用mapState辅助函数
        //computed:Vuex.mapState({
          // count:state=>state.count,
          //num1:state=>state.num1,
          //num2:state=>state.num2
        //}),
        //mapState 传一个字符串数组
        computed:Vuex.mapState(['count' , 'num1' , 'num2']),
        template:"<div>{{count}}{{num1}}{{num2}}</div>"
      },
      but:{
        template:`
          <div>
            <input type="button" value="+" @click="$store.commit('jia')"/>
            <input type="button" value="-" @click="$store.commit('jian')"/>  
          </div>
        `
      }
    },
    store
  });
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # vuex应用  # vuex教程  # vuex入门教程  # 图文+实例解析  # 如何使用 Vuex的入门教程  # vue基础入门之vuex安装与使用  # vuex入门最详细整理  # Vuex 快速入门(简单易懂)  # Vuex入门到上手教程  # 简单的三步vuex入门  # Vuex 入门教程  # Vuex简单入门  # Vue.js实战之Vuex的入门教程  # VUEX如何使用  # 让我们  # 做一个  # 他是  # 多个  # 要用  # 可以使用  # 购物车  # 当我们  # 方法来  # 创建一个  # 含着  # 中大  # 解决这个问题  # 大家多多  # 加减  # 两点  # 结果是  # Store  # 创库  # li 


相关文章: 建站之星微信建站一键生成小程序+多端营销系统  如何在万网主机上快速搭建网站?  建站之星安装后如何配置SEO及设计样式?  宝塔建站无法访问?如何排查配置与端口问题?  定制建站哪家更专业可靠?推荐榜单揭晓  ,在苏州找工作,上哪个网站比较好?  大连网站设计制作招聘信息,大连投诉网站有哪些?  Android使用GridView实现日历的简单功能  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  如何通过IIS搭建网站并配置访问权限?  香港服务器租用费用高吗?如何避免常见误区?  如何用PHP工具快速搭建高效网站?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何用低价快速搭建高质量网站?  如何在VPS电脑上快速搭建网站?  如何在IIS中新建站点并解决端口绑定冲突?  制作农业网站的软件,比较好的农业网站推荐一下?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何选择香港主机高效搭建外贸独立站?  如何用5美元大硬盘VPS安全高效搭建个人网站?  北京企业网站设计制作公司,北京铁路集团官方网站?  孙琪峥织梦建站教程如何优化数据库安全?  如何高效利用亚马逊云主机搭建企业网站?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  如何登录建站主机?访问步骤全解析  如何快速搭建个人网站并优化SEO?  如何快速完成中国万网建站详细流程?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  制作营销网站公司,淘特是干什么用的?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  高端智能建站公司优选:品牌定制与SEO优化一站式服务  网页设计网站制作软件,microsoft office哪个可以创建网页?  香港服务器部署网站为何提示未备案?  如何实现建站之星域名转发设置?  大连 网站制作,大连天途有线官网?  C#怎么使用委托和事件 C# delegate与event编程方法  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  ,交易猫的商品怎么发布到网站上去?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  一键网站制作软件,义乌购一件代发流程?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  如何在腾讯云服务器上快速搭建个人网站?  建站之星图片链接生成指南:自助建站与智能设计教程  宿州网站制作公司兴策,安徽省低保查询网站?  完全自定义免费建站平台:主题模板在线生成一站式服务  电商网站制作公司有哪些,1688网是什么意思? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。