vue+typescript无法使用this.$options.data()

export default class Test extends Vue {
    
    t = "测试"

    created() {
            console.log(this.$options.data())
            //Error in created hook: "TypeError: Cannot read property 'props' of undefined"
            console.log(this.$options.data.call(this))
            //{}   call的话 返回的是空对象,没有t
        }
 }   
    

放到普通的js版的vue 就没问题~~ 求大佬们帮助~万分感谢~

阅读 4.7k
2 个回答

重置的话使用

Object.assign(this.$data, this.$options.data.call(this))
Object.assign(this.$data.target, this.$options.data.call(this).target)

vue-class-component对data做了包裹,导致this.$options.data没有返回我们想要的值

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