vuex前端开发,getters是什么?怎么调用?简单的案例操作

本文主要是介绍vuex前端开发,getters是什么?怎么调用?简单的案例操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vuex前端开发,getters是什么?怎么调用?简单的案例操作!

下面通过一些简单的案例,来了解一下,vuex当中的getters到底是什么意思,有哪些实际的操作案例。


Vuex的getters主要用于对store中的state进行计算或过滤,类似于Vue组件中的计算属性。它可以对state进行一些处理,然后返回一个新的值,供组件使用。

使用getters的好处有:

  1. 可以将一些常用的计算逻辑封装在getters中,避免在多个组件中重复编写相同的计算代码。
  2. getters可以缓存计算结果,只有当依赖的state发生变化时,才会重新计算,提高性能。
  3. getters可以接收其他getters作为参数,可以实现对多个状态的联合计算

// 在store/index.js中定义getters
const store = new Vuex.Store({state: {todos: [{ id: 1, text: 'Learn Vue', done: true },{ id: 2, text: 'Build an app', done: false },{ id: 3, text: 'Deploy to production', done: false }]},getters: {// 计算未完成的任务数量unfinishedCount: state => {return state.todos.filter(todo => !todo.done).length;},// 获取所有已完成的任务completedTodos: state => {return state.todos.filter(todo => todo.done);}}
});// 在组件中使用getters
export default {computed: {unfinishedCount() {return this.$store.getters.unfinishedCount;},completedTodos() {return this.$store.getters.completedTodos;}}
}

下面给大家看看我个人在本地测试的实际项目案例代码。

import './assets/main.css'import { createApp } from 'vue'
import App from './App.vue'
import {createStore} from 'vuex'
const store =createStore({state(){return {count:1,str:'我是来自VUEX的',todos:[{id:1,text:'Learn Vue',done:true},{id:2,text:'Build an app',done:false},{id:3,text:'Deploy to production',done:false},{id:4,text:'write an website',done:true}]}},getters:{//计算未完成的任务数量unfinishedCount: state => {return state.todos.filter(todo => !todo.done).length;},//获取所有已完成的任务completedTodos: state => {return state.todos.filter(todo => todo.done).length;}}})createApp(App).use(store).mount('#app')

这个代码是来自main.js。里面我配置了一下store的基础数据情况。

里面有一个state,共享了一个数组。

还有一个getters属性,里面对外暴漏了2个函数。分别是统计未完成的任务数量,和已经完成的任务数量。


<template><h3>todos-getters练习</h3><p>未完成 的任务数:{{ unfinishedCount }}</p><p>已完成的任务数:{{ completedTodos  }}</p>
</template>
<script>export default{data(){return{}},computed:{unfinishedCount(){return this.$store.getters.unfinishedCount;},completedTodos(){return this.$store.getters.completedTodos;}}}
</script>

这个我单独定义了一个组件,名字是Todos.vue。里面可以看见有计算属性。通过计算属性,可以调用到store里面的getters函数。这样用起来就会很方便了。

毕竟,getters诞生的本意,就是以为了让人们快速方便的操作共享数据的。

计算属性本身就是一个函数,只是它做了封装。使得一些较为复杂的数据逻辑计算,被封装成了一个函数的形式,对外调用的时候,也就显得较为简化了。如图,直接使用vue的插值运算符,就能调用计算属性了。这个就是计算属性的优势和便捷。


<template><h3>vuex的基础使用</h3><!-- <p>{{ $store.state.str }}</p> --><Addtion /><Subtract /><Todos />
</template>
<script>
import Addtion from './components/Addtion.vue'
import Subtract from './components/Subtract.vue';
import Todos from './components/Todos.vue';export default{components:{Addtion,Subtract,Todos},data(){return{}}}
</script>

这个是入口文件app.vue的内容。我已经在app里面做了注册。可以让组件todos.vue正常显示。


如图,可以看见,正确了获得了,已经完成 的任务数量,和未完成的任务数量。


计算出来对结果是正确的。2个true,2个false.

这篇关于vuex前端开发,getters是什么?怎么调用?简单的案例操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/616911

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re