Vuex的使用(五)——mapGetters的定义和用法[通俗易懂]

Vuex的使用(五)——mapGetters的定义和用法[通俗易懂]参考文档:https://vuex.vuejs.org/zh/guide/当需要在组件中使用多个getters时,可以利用mapGetters批量生成计算属性(新增文件路径为src\components\componentE.vue),代码如下:mapGetters用法gettersinvuex:{{param2}}引用上面创建的component-e查看效果(修改文件路径为src\main.js),代码如下:imp

大家好,又见面了,我是你们的朋友全栈君。

参考文档:https://vuex.vuejs.org/zh/guide/

当需要在组件中使用多个getters时,可以利用mapGetters批量生成计算属性(新增文件路径为src\components\componentE.vue,可以通过切换示例中注释的计算变量来查看对应的页面效果),代码如下:

<template>
    <div>
        <span>mapGetters用法</span>
        <br />
        <span>getters in vuex:{
  
  {param2}}</span>
    </div>
</template>

<script> import { 
      mapGetters } from "vuex"; export default { 
      name: "component-e", // 基础写法,与state基本相同,唯一的区别是state在引用时用的是this.$store.state[xxx],getters在引用时用的是this.$store.getters[xxx] // computed: { 
      // param2() { 
      // return this.$store.getters["param2"]; // } // } // 要注意的是,Vuex禁止开发者在mapGetters中对getters进行二次处理,所以以下写法是不行的(如果业务缺失需要,则应该采用上面的基础写法),控制台会提示:unknown getter: getters => getters.param2 // computed: mapGetters({ 
      // param2: getters => getters.param2 // }) // mapGetters允许的写法(这个写法无法对getters进行二次处理),与mapState基本相同,唯一的区别是需要import mapGetters,且创建的是mapGetters对象 // computed: mapGetters({ 
      // param2: "param2" // }) // 与mapState一样mapGetters也允许简化写法 // computed: mapGetters(["param2"]) // 与局部计算变量混用(mapGetters与mapState混用时也需要按照以下写法定义state和getters) computed: { 
      computedParam() { 
      return "computedParam"; }, ...mapGetters(["param2"]) } }; </script>

<style scoped> </style>

引用上面创建的component-e查看效果(修改文件路径为src\main.js),代码如下:

import Vue from 'vue'
import store from './store'
import ComponentA from './components/ComponentA.vue'
import ComponentB from './components/ComponentB.vue'
import ComponentC from './components/ComponentC.vue'
import ComponentD from './components/ComponentD.vue'
import ComponentE from './components/ComponentE.vue'

new Vue({ 
   
    el: '#app',
    store,
    components: { 
    ComponentA, ComponentB, ComponentC, ComponentD, ComponentE },
    template: '<div><component-a></component-a><component-b></component-b><component-c></component-c><component-d></component-d><component-e></component-e></div>'
});

运行后查看页面可以看到示例代码中通过mapGetters生成的几种计算属性之间没有任何区别。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux 的 history 命令使用大全

    Linux 的 history 命令使用大全history命令history命令:用于显示历史记录和执行过的指令命令。history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历

    2022年7月4日
    21
  • java数组详解

    java数组详解1 数组概念同一种类型数据的集合。其实数组就是一个容器。数组的好处可以自动给数组中的元素从0开始编号,方便操作这些元素。格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];示例:int[] arr = new int[5];格式2:

    2022年6月2日
    23
  • 大数据建模流程之任务分析

    大数据建模流程之任务分析上一篇文章我们简单阐述了,大多数研究者在进行大数据分析时,所存在的逻辑问题,并简明扼要的对大数据建模流程进行了说明,那么为了使大家更加清晰每一个步骤的具体内容,我们将每一个模块展开分析。详细阐述流程中具体要做的工作内容?一.宏观角度无论是大数据还是人工智能技术,其实都是需求或者项目主题的实现手段,商业上希望技术能够将产品向商品转化,或者对市场进行科学的分析,从而引导公司决策更符合市场需求;科研上希望技术能够进行多学课融合,使得科研结果更具有说服力,亦或者是技术本身的创新与变革,使得科技文明不断发展。由此

    2022年6月4日
    41
  • Eclipse 添加 Tomcat Server 配置

    Eclipse 添加 Tomcat Server 配置以下步骤是将一个独立安装的(standalone)Tomcat整合到Eclipse中,方便在Eclipse发布Web工程到Tomcat服务器,启停WebServer调试程序。项目开发中不推荐使用Eclipse自带的WebServer,不便于运行调试,往往需要根据项目需求独立安装指定厂家和版本的Webserver。(项目部署参考–>Eclipse部署项目到Tomcat)…

    2025年7月30日
    0
  • java与数据库连接的步骤_java与数据库的连接怎么实现

    java与数据库连接的步骤_java与数据库的连接怎么实现1.加载驱动Class.forname(数据库驱动名);2.建立数据库连接使用DriverManager类的getConnection()静态方法来获取数据库连接对象,其语法格式如下所示:Connectionconn=DriverManager.getConnection(Stringurl,Stringuser,Stringpass);其中url–数据库连接字符串….

    2022年9月16日
    1
  • docker开启2375端口[通俗易懂]

    docker开启2375端口[通俗易懂]Docker开启RemoteAPI访问2375端口-hongdada-博客园https://www.cnblogs.com/hongdada/p/11512901.htmldocker开启2375端口,提供外部访问docker,idea连接服务器docker_霓虹深处-CSDN博客_idea连接docker2376端口https://blog.csdn.net/qq_36850813/article/details/89924207…

    2022年5月29日
    36

发表回复

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

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