vue子组件获取参数的问题

比如传给子组件的item参数值是0 但是子组件视图会报错Cannot read property 'info' of undefined"
如果把计算属性里面的[this.index]改成[0]的话可以正常渲染视图 但是下面这样写就不行 各个生命周期都试了 都不行怎么办

<template>
  <div>
    {{data.info}}
  </div>
</template>
import { mapState } from 'vuex'

data () {
    return {
      index: ''
    }
},
computed: {
    ...mapState({
      data: state => state.userList[this.index]
    })
},
created () {
    this.index = this.$route.query.item
},
阅读 3.2k
2 个回答
<template>
  <div>
    {{data.info || ''}}
  </div>
</template>
import { mapState } from 'vuex'

data () {
    return {
      index: this.$route.query.item,
      data: {}
    }
},
computed: {
    ...mapState(['userList'])
},
created () {
    if(this.userList[this.index]){
        this.data = this.userList[this.index]
    }
},

你初始化时的index='',computed中的this.index为'',返回的data值时undefined,mounted之后index才改变

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