vue(22)Vuex的安装与使用[通俗易懂]

vue(22)Vuex的安装与使用[通俗易懂]前言每一个Vuex应用的核心就是store(仓库)。store基本上就是一个容器,它包含着你的应用中大部分的状态(state)。Vuex和单纯的全局对象有以下两点不同:Vuex的状态存

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

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

  1. Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
  2. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
     

Vuex的安装

安装通过NPM命令:

npm install vuex --save

在一个模块化的打包系统中,您必须显式地通过 Vue.use() 来安装 Vuex

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

Vue.use(Vuex)

如果我们使用vue-cli创建项目并选择配置了Vuex,那么项目会自动给我们配置好这些
 

Vuex的简单示例

安装 Vuex 之后,我们需要在某个地方存放我们的Vuex代码
这里我们先创建一个文件夹store,并且在其中创建一个index.js文件,在文件中写入如下代码

import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    counter: 1000,
  },
  mutations: {
    increment(state) {
      state.counter++;
    },
    decrement(state) {
      state.counter--;
    },
  },
});

其次,我们让所有的Vue组件都可以使用这个store对象,来到main.js文件中,导入store对象,并且放在new Vue中,这样其他Vue组件中,我们就可以通过this.$store的方式,获取到这个store对象

import Vue from "vue";
import App from "./App.vue";
import store from "./store";

new Vue({
  store,
  render: (h) => h(App),
}).$mount("#app");

然后在App.vue中写入如下代码:

<template>
  <div id="app">
    <h2>{{ $store.state.counter }}</h2>
    <button @click="addMethod">+</button>
    <button @click="reduce">-</button>
  </div>
</template>

<script>
export default {
  name: "App",
  methods: {
    addMethod() {
      this.$store.commit("increment");
    },
    reduce() {
      this.$store.commit("decrement");
    },
  },
};
</script>
<style lang="scss"></style>

 

Vuex使用步骤总结

  • 1.提取一个公共的store对象,用于保存多个组件中共享的状态

  • 2.将store对象放置在new Vue对象中,这样可以保证在所有的组件中都可以用到

  • 3.在其他组件中使用store对象中保存的状态即可

    • 通过this.$store.state属性的方式来访问状态
    • 通过this.$store.commit("mutations中的方法")来修改状态
  • 注意事项

    • 我们是通过提交mutations的方式,而非直接改变store.state.counter
    • 这是因为Vuex可以更明显的追踪状态的变化,所以不要直接改变store.state.counter的值
       
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164834.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月29日 下午4:46
下一篇 2022年7月29日 下午5:00


相关推荐

  • ctf MISC 学习总结「建议收藏」

    ext3linux挂载光盘,可用7zip解压或者notepad搜flag,base64解码放到kali挂载到/mnt/目录mount630a886233764ec2a63f305f318c8baa/mnt/cd/mnt/ls寻找find|grep‘flag’或find-name’flag’*查看cat./O7avZhikgKgbF/flag.txt查找…

    2022年4月8日
    150
  • SBC,sip介绍[通俗易懂]

    SBC,sip介绍[通俗易懂]SBC介绍

    2025年9月5日
    6
  • HTTP请求报错:400 Bad Request解决方法!!(终极整理)

    HTTP请求报错:400 Bad Request解决方法!!(终极整理)问题场景 当项目的前端页面使用 ajax 请求访问后端时 出现该错误 我这里是测试接口时 发生了错误 原因一 请求参数个数不对 后端接口上明确规定了请求参数的个数 比如 接口 方法 中的值中使用了 requestparam 注解 requestparam 注解中有个 require 属性 默认为 true 意思则是 必须要传该参数的值 该参数不可为空 解决办法 1 如果该参数是可传可不传的 修改 require 属性为 false 2 检查前端 js 文件中对应的 ajax 请求中的请求数据是否为空 或者是否有该参数

    2026年3月17日
    1
  • 单模光纤和多模光纤的光源

    单模光纤和多模光纤的光源单模光纤的光源是激光器作为光源多模光纤的光源为 LED

    2026年3月26日
    2
  • Parallel.ForEach() 并行循环[通俗易懂]

    Parallel.ForEach() 并行循环[通俗易懂]现在的电脑几乎都是多核的,但在软件中并还没有跟上这个节奏,大多数软件还是采用传统的方式,并没有很好的发挥多核的优势。微软的并行运算平台(Microsoft’sParallelComputingPlatform(PCP))提供了这样一个工具,让软件开发人员可以有效的使用多核提供的性能。Parallel.ForEach()和Parallel.For()就是微软并发类的成员。今天做了一个简…

    2022年7月19日
    18
  • loadrunner使用教程之IP欺骗[通俗易懂]

    loadrunner使用教程之IP欺骗[通俗易懂]上次做压力测试的时候网站崩了,老大怀疑一点原因是说我用同一个IP施压2000个用户,服务器可能拒绝了些访问请求,这样不是很靠谱。今天有空就研究了下IP欺骗,模仿多个IP里发射用户,“这样可以在很大程度上模拟实际使用中多IP访问和并测试服务器均衡处理的能力”,嗯..第一步,录制脚本,不说了,反正也是自己看。简单录制了一个查询操作的脚本。第二步,把脚本放场景中来,脚本是脚本,场景是场景,一定要

    2022年10月10日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号