我想在组件的data中使用一些state中定义的常量给下拉框赋默认值并且v-model这个变量,应该怎么办?

我要给下拉框的value赋默认值1,并且绑定这个变量;

<select v-model='selectValue'></select>

但是 直接让

data(){
   return{ selectValue:1 }
}

这种写法可读性不好,所以就想声明一个常量,因为很多页面会使用这种常量,
所以我就把他放在了 vuex的state中;

state: {
    // 单一游戏常量
    SINGLE_GAME: 1
}

然后我在组件中引入state,data中直接

data(){
   return{ selectValue:this.SINGLE_GAME }
}

这种写法可读性就比较高了;

但是却无法给selectValue赋值,但是在

created()

方法中打印

this.SINGLE_GAME

却可以打印出来值;

然后我就不知道该怎么办了,

因为我要使用

v-model

绑定这个变量,所以应该是不可以使用

computed

的,

阅读 4k
1 个回答

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

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

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