VueX


vuex解释

官方解释:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。可以想象为一个“前端数据库”(数据仓库),

让其在各个页面上实现数据的共享包括状态,并且可操作

 Vuex分成五个部分:

   1.State:单一状态树

   2.Getters:状态获取

   3.Mutations:触发同步事件

   4.Actions:提交mutation,可以包含异步操作

   5.Module:将vuex进行分模块

vue中各个组件之间传值

1.父子组件

父组件–>子组件,通过子组件的自定义属性:props

子组件–>父组件,通过自定义事件:this.$emit(‘事件名’,参数1,参数2,…);

2.非父子组件或父子组件

通过数据总数Bus,this. r o o t . root. root.emit(‘事件名’,参数1,参数2,…)

3.非父子组件或父子组件

更好的方式是在vue中使用vuex

1 用组件之间通讯。

2 我们定义全局变量。


vuex安装使用步骤

1.安装(找到vue项目打开vue项目路径运行cmd窗口)

	  npm install vuex -S

在这里插入图片描述


2 .创建store模块,分别维护state/actions/mutations/getters
在这里插入图片描述

  store

    index.js

    state.js

    actions.js

    mutations.js

    getters.js

3.在store/index.js文件中新建vuex的store实例,并注册上面引入的各大模块

import Vue from 'vue'
import Vuex from 'vuex'
import state from './State'
import getters from './Getters'
import actions from './Actions'
import mutations from './Mutations'

Vue.use(Vuex)

const store = new Vuex.Store({
  state,
  getters,
  actions,
  mutations
})

export default store


4.找到vue函数入口man.js,然后导入使用store

在这里插入图片描述


vuex模块使用

vuex的核心概念:store、state、getters、mutations、actions

在这里插入图片描述

1.每一个Vuex应用的核心就是store(仓库),store基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。



在这里插入图片描述

  1. state.js, 共同维护的一个状态,state里面可以是很多个全局状态


在这里插入图片描述

  1. getters.js, 获取数据并渲染


在这里插入图片描述
4. actions.js, 数据的异步操作



在这里插入图片描述
5.mutations.js 处理数据的唯一途径,state的改变或赋值只能在这里


vuex同步异步案列

1.vuexpage1.vue

<template>
  <div>
    <h3>页面一,欢迎来到{{msg}}</h3>
    <button @click="buy">点击(同步)</button>
    <button @click="buyAsync">点击(异步)</button>
    <button @click="doAjax">点击(Ajax)</button>
  </div>
</template>

<script>
    export default {
      data(){
        return{

        };
      },
        computed:{
          msg(){
            return this.$store.state.resturantName;
          }
        },
        methods:{
          buy(){
            this.$store.commit('setResturantName',{
              resturantName:'茶颜'
            });
          },
          buyAsync(){
            this.$store.dispatch('setResturantNameByAsync',{
              resturantName:'一点点'
            });
          },
          doAjax(){
            this.$store.dispatch('doAjax',{
              _this:this
            });
          }

        }
    }
</script>

<style>
</style>


2.vuepage2.vue(通过Getters.js接收第一个组件传递值过来)

<template>
  <div>
    <h3>页面一,欢迎来到{{msg}}</h3>
  </div>
</template>

<script>
    export default {
      data(){
        return{

        };
      },
        computed:{
          msg(){
            return this.$store.getters.getResturantName;
          }
        }
    }
</script>

<style>
</style>


3.异步(Actions.js)
在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值