为了账号安全,请及时绑定邮箱和手机立即绑定

关于电子书的解析和渲染中的数据和方法

https://img1.sycdn.imooc.com//5b85f45c00012ab706100518.jpg

为什么在这个函数中可以直接使用this.book等数据和方法,而不用在data、methods中定义啊?求解惑!感谢!

正在回答

3 回答

重新发一遍,方便大家阅读

this.book = xxx

这里的 this 表示Vue实例this.book表示给Vue实例动态添加了一个book属性,下面举例证明:

created() {
  this.book = {
    a: 1,
    b: 2
  }
  console.log(this)
}

https://img1.sycdn.imooc.com//5b8633720001204808000866.jpg

通过打印Vue实例可以很清楚的看到,this.book会在Vue实例下创建book属性,指向book对象

---------------------------------------------------------------------------------------------------------------------
对于这个问题可以再延伸一下:


this.book = xxx 和 将book定义在data中有什么区别?
从使用角度来看,看不出区别,但是无法通过this.$data.book获取到book,因为book没有定义在data中,下面举例说明:

export default {
  data() {
    return {
      test: [1, 2, 3]
    }
  },
  created() {
    this.book = {
      a: 1,
      b: 2
    }
    console.log(this.$data)
    console.log('this.$data.test', this.$data.test)
    console.log('this.$data.book', this.$data.book)
  }
}

https://img1.sycdn.imooc.com//5b863436000105bb09620534.jpg

从打印结果中可以看出,test可以通过this.$data.test获取,但是book不行,因为this.$data中只包含test对象。当然实际开发过程中,为了简便,我们仍然可以通过this.test获取test的值。

0 回复 有任何疑惑可以回复我~
#1

AB_Ciel 提问者

get到了,感谢老师的详细回复啊1
2018-08-31 回复 有任何疑惑可以回复我~

用手机回复的,效果一般,凑合一下:)

0 回复 有任何疑惑可以回复我~

你好,这是一个好的问题

this.book = ...

这里的this表示Vue实例,this.book表示给Vue实例动态添加了一个book属性,下面给一个例子进行证明

created() {
this.book = {
a: 1,
b: 2
}
console.log(this)
}

http://img1.sycdn.imooc.com//5b8600a80001084d15001464.jpg

通过打印Vue实例完美可以很清楚的看到,在Vue实例下创建了一个book对象

对这个问题再延伸一下:

this.book = ... 和 将book定义在data中有什么区别?

从使用角度来看,看不出区别,但是无法通过this.$data.book获取到book,因为book没有定义在data中,下面举例说明

export default {
data() {
return {
test: [1, 2, 3]
}
},
created() {
this.book = {
a: 1,
b: 2
}
console.log(this.$data)
console.log('this.$data.test', this.$data.test)
console.log('this.$data.book', this.$data.book)
}
}

http://img1.sycdn.imooc.com//5b8600a80001a85c15000839.jpg

从打印结果中可以看出,test可以通过this.$data.test获取,但是book不行,当然实际开发过程中,为了简便,我们仍然会通过this.test获取test的值

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于电子书的解析和渲染中的数据和方法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信