Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从零开始学VUE之VueX(getters)

从零开始学VUE之VueX(getters)

作者头像
彼岸舞
发布于 2021-07-01 10:13:59
发布于 2021-07-01 10:13:59
33600
代码可运行
举报
运行总次数:0
代码可运行

getters

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
相当于组件中的计算属性,用于计算state中的数据返回计算后的值的
函数的第一个参数是 state 第二个参数是 getters可以通过这个调用getters中的其他函数
如果想要传递参数 那么需要使用闭包
return funcation(参数)

定义getters

import Vue from 'vue'
// 导入vuex
import Vuex from 'vuex'

// 通过vue安装vuex
Vue.use(Vuex)

/**
 * 创建store
 * @type {Store<{counter: number}>}
 */
const store = new Vuex.Store({
  // 用于定义属性
  state:{
    counter:1000
  },
  // 定义用于修改属性的函数
  mutations:{
    // 第一个参数是 state
    modifyCounter(state){
      state.counter--;
    }
  },
  // 计算属性也就是getters 用于获取
  getters:{
    // 获取平方
    getCountPF(state) {
      return state.counter * state.counter;
    },
    // 获取 平方的2分之一
    getCountTwoOne(state, getters) {
      return getters.getCountPF / 2;
    },
    // 获取 平方的n分之一 参数传递
    getCountN(state,getters){
      return function (n){
        return getters.getCountPF / n;
      }
    }
  }
})

export default store

调用
<template>
  <div id="app">
    <h2>访问store</h2>
    <h3>{{$store.state.counter}}</h3>
<!--    通过commit传入方法调用-->
    <button @click="$store.commit('modifyCounter')">-</button>
    <h2>获取Counter的平方</h2>
    <h2>{{$store.getters.getCountPF}}</h2>
    <h2>获取Counter的平方 2/1</h2>
    <h2>{{$store.getters.getCountTwoOne}}</h2>
    <h2>获取Counter的平方 n/1</h2>
    <h2>{{$store.getters.getCountN(5)}}</h2>
  </div>
</template>

<script>
import TabBar from "./components/tabbar/TabBar";
export default {
  name: 'App',
  components:{
    TabBar
  }
}
</script>

<style>
@import "./assets/css/base.css";
</style>

响应式修改对象状态

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Vue.set(对象|数组,key|index,value)

响应式删除对象字段

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Vue.delete(对象|数组,key|index)

作者:彼岸舞

时间:2021\06\28

内容关于:VUE

本文属于作者原创,未经允许,禁止转发

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-06-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从零开始学VUE之VueX(actions)
actions 异步修改状态信息,比如Ajax import Vue from 'vue' // 导入vuex import Vuex from 'vuex' import {INCR} from "./type"; // 通过vue安装vuex Vue.use(Vuex) /** * 创建store * @type {Store<{counter: number}>} */ const store = new Vuex.Store({ // 用于定义属性 state:{ cou
彼岸舞
2021/07/01
3680
从零开始学VUE之VueX(actions)
从零开始学VUE之VueX(抽取方法为常量形式)
抽取方法为常量形式 import Vue from 'vue' // 导入vuex import Vuex from 'vuex' import {INCR} from "./type"; // 通过vue安装vuex Vue.use(Vuex) /** * 创建store * @type {Store<{counter: number}>} */ const store = new Vuex.Store({ // 用于定义属性 state:{ counter:1000 },
彼岸舞
2021/07/01
2420
从零开始学VUE之VueX(mutations)
mutations 通过创建store中的mutations字段 定义方法,方法第一个参数就是 state 然后调用方法修改 调用 this.$store.commit('方法名') 定义函数 import Vue from 'vue' // 导入vuex import Vuex from 'vuex' // 通过vue安装vuex Vue.use(Vuex) /** * 创建store * @type {Store<{counter: number}>} */ const store = new
彼岸舞
2021/07/01
3020
Vue之Vuex(二)
  getters 相当于我们之前使用过的计算属性。当数据要经过一系列变化时,我们就可以将这一系列的变化写在getters内部。
yuanshuai
2022/08/22
7610
Vue之Vuex(二)
从零开始学VUE之VueX(modules)
modules import Vue from 'vue' // 导入vuex import Vuex from 'vuex' import {INCR} from "./type"; // 通过vue安装vuex Vue.use(Vuex) /** * 创建store * @type {Store<{counter: number}>} */ const store = new Vuex.Store({ // 用于定义属性 state:{ counter:1000 },
彼岸舞
2021/07/01
3870
Vuex是怎样进行状态管理的
import Vue from 'vue' import Vuex from 'vuex'
ZEHAN
2020/09/23
4240
从零开始学VUE之VueX(安装和使用)
安装 npm install vuex --save 使用 在目录中新建文件夹store,在里面新建index.js import Vue from 'vue' // 导入vuex import Vu
彼岸舞
2021/07/01
4110
从零开始学VUE之VueX(安装和使用)
19.Vuex详细使用说明-一篇文章涵盖所有知识点
不管是Vue,还是 React,都需要管理状态(state),比如组件之间都有共享状态的需要。 什么是共享状态? 比如一个组件需要使用另一个组件的状态,或者一个组件需要改变另一个组件的状态,都是共享状态。
用户7798898
2021/05/10
1.7K0
19.Vuex详细使用说明-一篇文章涵盖所有知识点
Vue学习-Vuex
简单理解:不同的组件需要访问一些同一状态量,如果把这些状态量随意定义到任意组件中都不合适,我们希望能够有一个对象对这些共享状态量进行统一封装,而Vuex就是这样一个提供在多个组件间共享状态的插件。
花猪
2022/02/17
2.1K0
Vue学习-Vuex
Vue之Vuex(一)
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用 集中式存储管理 应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。看不懂就对了,因为这是官方的解释,下面看看小编的解释 (✿◡‿◡)   当组件1、组件2、组件3 三个组件之间共享某些状态的时候,我们不能将该状态定义在组件1中,也不能定义在组件2中,也不能定义在组件3中,因为我们没有办法确保三个组件之间是有关联的。   如果我们将该状态定义在组件1中,然后组件3想要用该状态,但是组件1在组件树的顶层,而组件3却在组件数的最底层,这样一层一层调用十分复杂,因此我们需要另外一个东西来存放并且管理组件之间共享的状态,这个东西就是Vuex。   综上所述,Vuex是一个管理共享状态的管家,并且该状态是响应式的。简单而又精辟的解释
yuanshuai
2022/08/22
3620
Vue之Vuex(一)
Vuex 2 入门与提高
计数器应用的数据模型很简单:使用一个counter属性来表示计数器的 当前值就够了。
笔阁
2018/09/04
5980
Vuex 2 入门与提高
Vuex-1 ===>vuexdemo,getters,Mutation
它采用 响应式,集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
名字是乱打的
2021/12/23
1.2K0
Vuex-1 ===>vuexdemo,getters,Mutation
Vuex的简单入门
在src目录下新建个store文件夹,里面新建index.js 在index.js文件夹中创建Vuex实例
明知山
2020/09/03
3300
Vue之Vuex(三)
  当在mutations中进行异步操作时,Devtool不能够实时跟踪,导致最终在Devtool中记录的是错误的信息。比如:
yuanshuai
2022/08/22
6660
Vue之Vuex(三)
10分钟搞懂 vuex
  这个状态我们可以理解为在data中的属性,需要共享给其他组件使用的部分。   也就是说,是我们需要共享的data,使用vuex进行统一集中式的管理。
我不是费圆
2020/10/23
5070
Vuex 3.x 状态管理模式
Vue 3 使用 Vuex 4,而 Vue 2 使用 Vuex 3,本文记录的是 Vuex3 的使用总结,Vuex 3.x 文档
很酷的站长
2022/12/28
1.6K0
Vuex 3.x 状态管理模式
Vuex实践-mapState和mapGetters
  本文章是vuex系列的最后一篇,主要总结的是如何使用mapState和mapGetters访问vuex中的state和getters。
全栈程序员站长
2022/09/05
6940
Vuex实践-mapState和mapGetters
vuex使用步骤_vuex的原理
每一个 Vuex 应用的核心就是 store(仓库)。store基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同:
全栈程序员站长
2022/09/21
4730
了解Vuex状态管理模式的理解强化指南
Vuex是什么呢?它是Vue的状态管理模式,在使用vue的时候,需要在vue中各个组件之间传递值是很痛苦的,在vue中我们可以使用vuex来保存我们需要管理的状态值,值一旦被改变,所有引用该值的地方就会自动更新。是不是很方便,很好用呢?
桃翁
2019/11/22
1.3K0
《进阶篇第9章》学习vuex知识点后练习:把求和案例改成getters
<font color='red'>旧代码:无论设置 value="1"还是 value=1都无效</font>
刘大猫
2024/10/17
880
相关推荐
从零开始学VUE之VueX(actions)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验