为什么组件的data无法使用vuex中state里面的值,如果要用应该怎么办?

我想让下拉框v-model data中的一个变量,并且让这个变量的默认值是state中定义的常量,但是以后不跟随state中的值改变,该怎么办?

参考:
https://segmentfault.com/q/10...

data() 中是取不到 computed 的值的,因为 computed 依赖于 data

而 created() 中 data 和 computed 就都已经准备好了,所以你可以在 created 里手动给它赋值:

created () {
  this.selectValue = this.SINGLE_GAME
}

23 分钟前回答3 评论赞赏编辑

SevenOutman
2.3k 声望
但是这样还是不直观啊,并且代码量会增加,

select=state.SINGLE_GAME 一行;

那样写的话首先要data里面声明

select=0; 

然后created里面

select=state.SINGLE_GAME

看起来还是不直观,并且代码量增多了

— coder94 · 21 分钟前
回复 coder94:
你如果非要把这个常量放在 vuex 的话那只能这样。想直观一点的话可以把常量单独放一个文件里而不是 vuex 里。

import { SINGLE_GAME } from './constants'

// ...

data() {
  return {
    selectValue: SINGLE_GAME
  }
}

— SevenOutman · 18 分钟前
回复 SevenOutman:
谢谢

— coder94 · 13 分钟前

阅读 3.3k
2 个回答

你在created里面取出state值赋值给data不就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题