vue详解_vuex教程

vue详解_vuex教程Vuex是做什么的?官方解释:Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex

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

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

Vuex是做什么的?

  • 官方解释:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

    • 它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
    • Vuex 也集成到 Vue 的官方调试工具 devtools extension (opens new window),提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。
  • 状态管理到底是什么?

    • 状态管理模式,集中式状态管理这些名词听起来就非常高大上,让人捉摸不透
    • 其实你可以简单的将其看成把需要多个组件共享的变量全部存储在一个对象中
    • 然后,将这个对象放在顶层的Vue实例中,让其他组件可以使用
    • 那么,多个组件是否可以共享这个对象中的所有变量属性了呢?
       

管理什么状态呢?

  • 但是有什么状态需要我们在多个组件中共享的呢?
    • 如果你做过大型项目,你一定遇到过多个状态,在多个界面中共享的问题
    • 比如用户的登录状态、头像、信息、地理位置等等
    • 比如商品的收藏,购物车中的物品等等
    • 这些状态信息,我们都可以放在同一的地方,对它进行保存和管理,而且它们还是响应式的
       

单页面状态管理

  • 我们知道,要在单个组件中进行状态管理是一件非常简单的事情,我们来看下图
    vue详解_vuex教程

  • 图中的3个状态,解释如下:

    • State:就是我们的状态(姑且可以当做是data中的属性);
    • VIew:视图层,可以针对state的变化,显示不同的信息;
    • Actions,这里的Actions主要是用户的各种操作:点击、输入等等,会导致状态的改变。

代码如下:

new Vue({
  // state
  data () {
    return {
      count: 0
    }
  },
  // view
  template: `
    <div>{{ count }}</div>
  `,
  // actions
  methods: {
    increment () {
      this.count++
    }
  }
})

 

多界面状态管理

  • Vue已经帮我们做好了单个界面的状态管理,但如果是多个界面呢?
    • 多个视图都依赖同一个状态(一个状态改了,多个界面需要进行更新)
    • 不同界面的Actions都想修改同一个状态(比如:Home.vue要修改,Profile.vue也需要修改这个状态)
  • 也就是说对于某些状态(状态1/状态2/状态3)来说只属于我们某一个视图,但是也有一些状态(状态a/状态b/状态c)属于多个视图共同想要维护的
    • 状态1/状态2/状态3你放在自己的房间,你自己管理自己用,没问题
    • 但是状态a/状态b/状态c我们希望交给一个大管家来统一帮助我们管理
    • 那么Vuex就是帮助我们统一管理的大管家
  • 全局单例模式
    • 我们现在要做的就是将共享的状态抽离出来,交给我们的大管家进行统一管理
    • 之后,我们的每个视图,按照规定好的规定,进行访问和修改操作
    • 这就是Vuex背后的思想

Vuex状态管理图例

vue详解_vuex教程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166078.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ubuntu上安装pycharm_ubuntu打开pycharm

    ubuntu上安装pycharm_ubuntu打开pycharm一、安装python3.5默认情况下,linux下是默认使用2.x版本的,现在我们要安装3.x版本,具体操作如下1、去官网下载安装包。(这里我下载的是.tgz版本)2、用命令解压安装包tar-zxvf+压缩包3、进入解压后的文件cd+解压后的文件夹4、./configure–prefix=/usr/local/python3.5重定向到该文件夹下进行编译5.make6.make…

  • 如果正确读取SQL Server中的扩展事件?

    如果正确读取SQL Server中的扩展事件?

    2021年11月25日
  • 快递查询 接口_查询快递接口

    快递查询 接口_查询快递接口•快递物流查询API接口快递查询接口是指快递查询网对外开放的应用程序接口,开发人员能够通过调用该接口与快递查询网进行交互,并基于该接口开发自己的快递查询应用程序。•应用场景① 买家物流查询:轨迹跟踪、包裹进度、预计送达时间、派送人联系方式等。② 卖家物流跟踪:是否超区、转件、多次派送、拒收③ 平台监控管理:假交易监控、匹配卖家发货与顾客确认收货时间。目前常用的快递物流查询接口供应平…

    2022年10月30日
  • Bug.PotPlayer播放视频上下、左右翻转

    Bug.PotPlayer播放视频上下、左右翻转2018/8/8 PotPlayer作为一款全能、绿色的视频播放器倍受喜爱。在使用中偶尔可能会出现播放视频上下倒置、左右翻转的情况,一时让人摸不着头脑。其实是误触了快捷键导致图像颠倒,再次按下快捷键即可恢复。上下倒置的情况,这时在播放界面按下“Ctrl+V”快捷键;界面左上角提示“图像上下翻转:关闭”,视频播放恢复正常。左右翻转时,如果无字幕其实并不影响观看;这时按下快捷键“Ctrl+…

  • IDEA学习笔记「建议收藏」

    IDEA学习笔记「建议收藏」1、IDEA的安装、配置和使用1.1概述1.1.1JetBrains概述IDEA(https://www.jetbrains.com/idea/)JetBrains公司的产品,公司旗下还有其它产品,比如: WebStorm:用于开发JavaScript、HTML5、CSS3等前端技术; PyCharm:用于开发python PhpStorm:用于开发PHP RubyMine:用于开发Ruby/Rails AppCode:用于开发Ob

  • 安卓学习之-ActivityManager

    安卓学习之-ActivityManagerActivityManager.MemoryInfo:系统可用内存信息ActivityManager.RecentTaskInfo:最近的任务信息ActivityManager.RunningAppProcessInfo:正在运行的进程信息ActivityManager.RunningServiceInfo:正在运行的服务信息

发表回复

您的电子邮箱地址不会被公开。

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