vuex无法获取getters属性this.$store.getters.getCurChildId undefined

问题描述

this.$store.getters.getCurChildId  undefined 

这是因为我们设置了命名空间namespaced: true,

vuex官网中对命名空间的描述如下:
默认情况下,模块内部的 action、mutation 和 getter 是注册在全局命名空间的——这样使得多个模块能够对同一 mutation 或 action 作出响应。
如果希望你的模块具有更高的封装度和复用性,你可以通过添加 namespaced: true 的方式使其成为带命名空间的模块。当模块被注册后,它的所有 getter、action 及 mutation 都会自动根据模块注册的路径调整命名。

import * as types from '../mutation-types.js'

const state = {
  curChildId: '',
}

// getters
const getters = {
  getCurChildId(state){
    return state.curChildId
  }
}

// actions
const actions = {
  setCurChildId({ commit }, childId){
    commit(types.SET_CURRENT_CHILDID, childId)
  }
}

// mutations
const mutations = {
  [types.SET_CURRENT_CHILDID](state, childId) {
    state.curChildId = childId
  }
}

export default {
  namespaced: true,
  state,
  getters,
  actions,
  mutations
}

问题解决

所以,调用的时候我们需要加上路径,如:

this.$store.dispatch('childs/setCurChildId', item.id)
this.$store.getters['childs/getCurChildId']
computed: {
    getCurChildId2 () {
      return this.$store.getters['childs/getCurChildId']
    }
  },

参考阅读

https://blog.csdn.net/yanguo110/article/details/80997507

原文地址:https://www.cnblogs.com/fozero/p/11107850.html

时间: 2024-10-03 14:45:32

vuex无法获取getters属性this.$store.getters.getCurChildId undefined的相关文章

vuex所有核心概念完整解析State Getters Mutations Actions

vuex是解决vue组件和组件间相互通信而存在的,vuex理解起来稍微复杂,但一旦看懂则即为好用: 安装: npm install --save vuex 引入 import Vuex from 'vuex' import Vue from 'vue' Vue.use(Vuex) vuex的几个参数的介绍 State         储存初始化数据 Getters      对State 里面的数据二次处理(对数据进行过滤类似filter的作用)比如State返回的为一个对象,我们想取对象中一个

js动画之获取元素属性

首先我们要介绍一些知识 offsetWidth element.offsetWidth = width + padding + border; width 我们也知道element.style.width 这个属性一般用来修改属性,那么在获取这个属性的时候, 如果这个元素的的样式是定义在css的文件或者头样式中,都是获取不到的,只有行内样式才是获取到 <!DOCTYPE html> <html lang="en"> <head> <meta c

js+jquery动态设置/添加/删除/获取元素属性的两种方法集锦对照(动态onclick属性设置+动态title设置)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>

IE8和IE7如何获取background-position属性值

IE8和IE7如何获取background-position属性值:之所以要单独介绍一下如何获取background-position属性值,是因为在IE8和IE8以下浏览器中存在一定的兼容性问题,下面对此做一下简单介绍,希望能够给需要的朋友带来帮助.一.使用style方式:此方式只能够获取使用style方式定义的css样式属性,代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"&

java中获取系统属性以及环境变量

java中获取系统属性以及环境变量 System.getEnv()和System.getProperties()的差别 从概念上讲,系统属性 和环境变量 都是名称与值之间的映射.两种机制都能用来将用户定义的信息传递给 Java 进程.环境变量产生很多其它的全局效应,由于它们不仅对Java 子进程可见,并且对于定义它们的进程的全部子进程都是可见的.在不同的操作系统上,它们的语义有细微的区别,比方,不区分大写和小写.由于这些原因,环境变量更可能有意料不到的副作用.最好在可能的地方使用系统属性.环境变

js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>

获取图片属性详细信息

获取图片属性详细信息,通过PIL库实现,PIL库为2.9.0(3.0版本以下) python代码实现 #-*-coding:utf8-*- from PIL import Image from PIL.ExifTags import TAGS img = Image.open("img.jpg") print img.size, img.format, img.mode, img.bits print dir(img) print hasattr(img, '_getexif') ex

CSP介绍、以及使用CryptoAPI枚举CSP并获取其属性

CSP,全名为"加密服务提供者(Cryptographic Service Provider)",是微软定义的一套密码服务API.目前常用的密码规范或者标准有3套:CSP,PKCS#11和国密标准.前两者主要是为RSA算法提供服务,当然PKCS#11最新的扩展也开始支持ECC算法.而国家密码管理制定的国密标准,主要提供SM2(实际上也是ECC)服务,当然国密标准同时支持RSA,不过大多数情况下RSA的应用还是使用CSP和PKCS#11来实现. 一.CSP为一个独立的密钥服务模块 CSP

EL表达式获取对象属性的原理

EL表达式获取对象属性的原理是这样的:以表达式${user.name}为例EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀,一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值. 所以,想要通过EL表达式获取对象属性的值,那么这个属性就必须有与之对应的get方法. 其实你要了解EL表达式的运行原理,它其实后台也对应的Java代码,它会先将你EL表达式中的对象属性的首字符大写,拼成getXX()方法,然后利用