首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >是否在data()中将vuex状态绑定到此?

是否在data()中将vuex状态绑定到此?
EN

Stack Overflow用户
提问于 2017-04-13 00:55:02
回答 1查看 7.7K关注 0票数 5

我正在将vuex升级到2.0,我想知道在初始化数据之前是否可以使用mapstate/getters?

在Vuex1.0中,Vuex状态会在data()之前映射,这样我就可以先调用this,然后再调用我想要访问的状态

代码语言:javascript
代码运行次数:0
运行
复制
import { mapGetters } from 'vuex'

export default {
  vuex: {
    getters: {
      userSettings: ({ settings }) => settings.userSettings,
    }
  },
  data: function () {
    return {
      sendEmails: this.userSettings.sendEmails
    }
  }
}

但在Vuex2.0中,我必须使用this.$store.state.settings.UserSettings.sendEmails

代码语言:javascript
代码运行次数:0
运行
复制
import { mapGetters, mapState } from 'vuex'

export default {
data: function () {
   return {
    sendEmails: this.$store.state.settings.UserSettings.sendEmails
   }
}
computed: {
  ...mapGetters({
    settings: "settings"
  })
}

有没有办法在data()之前初始化这个状态?我有多个组件在数据初始化中使用状态,并且必须调用this.$store.state?我意识到我可以做一些解构,但我只是想知道我是否可以避免这种情况。

EN

回答 1

Stack Overflow用户

发布于 2017-04-13 01:57:27

我会在mounted中设置sendEmails

代码语言:javascript
代码运行次数:0
运行
复制
import { mapGetters, mapState } from 'vuex'

export default {
    data: function () {
       return {
        sendEmails: []
       }
    }

    computed: {
      ...mapGetters({
        settings: "settings"
      })
    },

    mounted: function() {
       if (this.settings.UserSettings){
          this.sendEmails = this.settings.UserSettings.sendEmails
       }
    }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43375447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档