首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Vue正在初始化数据的属性以进行突变,但data ()中存在错误:"TypeError:无法读取未定义的属性'propsTitle‘“

Vue正在初始化数据的属性以进行突变,但data ()中存在错误:"TypeError:无法读取未定义的属性'propsTitle‘“
EN

Stack Overflow用户
提问于 2019-06-10 00:31:17
回答 2查看 414关注 0票数 0

data()错误:"TypeError:无法读取未定义的属性'propsTitle‘“

我不能通过道具初始化数据。它一直向我显示这个错误,而我却弄不明白为什么?我读过vuejs教程,它告诉title: this.propsTitle这是正确的方式。我遗漏了什么?谢谢大家!

data()中出现

错误:"TypeError:无法读取未定义的属性'propsTitle‘“

代码语言:javascript
复制
          props: {
            propsTitle: String, 
            propsLevel: Number,
            propsProgress: Number,
          },

          data: () => ({
            title: this.propsTitle,
            progress: this.propsLevel,
            level: this.propsLevel,
            activeBtnTxt: "Start",
            isStarted: false

          }),  
// watch: {
      //   progress(val) {
      //     this.progress = val
      //   }
      // },
      // mounted() {
      //   console.log(this.propsProgress)
      //   // this.progress = propsProgress
      //   // this.level = propsLevel
      //   // this.title = propsTitle
      // },
EN

回答 2

Stack Overflow用户

发布于 2019-06-10 00:59:57

这一点:

代码语言:javascript
复制
data: () => ({
    ...
})

应该是这样:

代码语言:javascript
复制
data () {
    ...
}

如果你使用箭头函数,你会得到指向错误对象的this引用。

文档中有一个关于这一点的注释:https://vuejs.org/v2/api/#data

请注意,如果将箭头函数与data属性一起使用,this将不会是组件的实例...

票数 3
EN

Stack Overflow用户

发布于 2019-06-10 09:55:55

以下是更正后的代码。你必须使用一个带return的函数。

代码语言:javascript
复制
  props: {
    propsTitle: String, 
    propsLevel: Number,
    propsProgress: Number,
  },

  data() {
    console.log(this)
    return { 
      title: this.propsTitle,
      progress: this.propsProgress,
      level: this.propsLevel,
      activeBtnTxt: "Start",
      isStarted: false
    }
  },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56516384

复制
相关文章

相似问题

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