码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 4.vue知识点vuex


    Vuex管理应用状态-目录

    • 一、基础示例
      • 1.目的
      • 2.定义vuex
      • 3.使用vuex
    • 二、mapState
      • 1.作用
      • 2.使用
      • 3.注意
    • 参考


    一、基础示例

    1.目的

    这块主要是能存取数据并且 computed 和 watch vuex上的数据就可以了
    
    • 1

    2.定义vuex

    • 过程
      • (1).在store的state中存入了counter,mutations中定义了函数
        vuex1

        vuex2

      • (2).然后把这个store放在了#app对象中
        vuex3

    3.使用vuex

    • (1)组件定义

          <div>localCounter:{{localCounter}}div>
          <button @click="addCounter">修改localCounterbutton>
      
      • 1
      • 2

      vuex4
      接着在组件中可以直接通过this.$store.state.counter调用,通过commit(方法名)的方式调用mutations中定义的方法

    • (2)computed中

      • 代码
        vuex5
        vuex6

        注:commit(‘方法名’,‘还可以附加属性或者对象(大多数情况),便于方法调用’)

      • 效果
        点击四次按钮:
        vuex7

    • (3)watch中监听store中counter值的变化

      • 代码
        vuex8

      • 效果
        打印变化过程:
        vuex9

    二、mapState

    1.作用

    简化状态的获取
    
    • 1

    2.使用

    • (1)store定义
      vuex10

    • (2)组件使用store里面的数据

          <div>localName:{{localName}}div>
          <div>localAge:{{localAge}}div>
      
      • 1
      • 2

      mapState 函数返回的是一个对象,和局部计算属性混合使用需要借助 …(对象展开运算符)

          computed:{
              ...mapState({//与局部计算属性混合使用
                  localName:state=>state.myobj.name,
                  localAge:'age'//传递字符串'age'等价于   state=>state.age
              })
          },
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    • (3)效果
      vuex11

    3.注意

    • (1)说明:
      传递字符串’age’这种方式只适用于获取state.age,不可以用来获得state.myobj的内部属性,即’myobj.age’是不等价于 state=>state.myobj.age的,但是可以先获取对象’myobj’,然后再利用’.'获取对象属性

    • (2)代码

          <div>localName:{{localobj.name}}div>
          <div>localAge:{{localobj.age}}div>
      
      • 1
      • 2
          ...mapState({//与局部计算属性混合使用
              //localName:state=>state.myobj.name,
              localobj:'myobj'//传递字符串'myobj'等价于   state=>state.myobj
          })
      
      • 1
      • 2
      • 3
      • 4
    • (3)效果
      vuex12

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RtNZhhUa-1663124384159)(/assets/vuex12.png)]

    参考

    ①官方文档
    ②最简单的 Store
    ③mapState 辅助函数

  • 相关阅读:
    Visual Studio 2022导入OpenCv库(配置项目属性表,可复用)
    【阿里国际笔试】编程1&3
    IDEA 代码提交前流程及提交日志模板化
    将表情存入数据库
    File删除非空文件夹
    EV代码签名证书申请的具体步骤是什么?
    vue draggable学习
    2021春招Java面试题大全(精华)
    Qt的环境变量处理与程序发布之间的关系
    java版工程管理系统Spring Cloud+Spring Boot+Mybatis实现工程管理系统
  • 原文地址:https://blog.csdn.net/hehe_soft_engineer/article/details/126848595
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号