请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于this的问题

子组件this.handleClick.bind(this),如果我没理解错这个this应该是指向TodoItem,那为什么this.props.index可以拿到父组件传递过来的值,而this.props.deleteItem确要再bind(this)绑定父组件this才能获调用该方法呢?按视频中dell老师的说法,this.props.deleteItem相当于this.handleDeleteItem,当前组件没有handleDeleteItem方法,那当前子组件也没有定义index属性啊。

正在回答

2回答

Dell 2018-07-20 16:25:53

我看了你的问题,第一个反应就是,你根本没搞清this到底是什么。函数如果不运行,是没有this作用域的,只有执行的时候,才有this。我们是让函数执行的时候this放生改变,所以采用bind(this)

1 回复 有任何疑惑可以回复我~
  • 提问者 质检员 #1
    谢谢dell老师,我明白this的意思,只是我这里的表达的不是很清楚,我最开始认为this.props.index指向的是子组件的index等价于this.index(困惑当前没有定义index),实际上是子组件接受了父组件的index,子组件的props中包含了父组件传递过来的key value,而父组件传递的函数最开始只是用this指定,没有用bind绑定父组件this,所以this.props.deleteItem就相当于this.那个方法,但是子组件是不存在那个方法的,所以父组件需要绑定this,谢谢dell老师,就相当于调用父类的方法。
    回复 有任何疑惑可以回复我~ 2018-07-21 20:17:01
慕运维2858188 2018-07-29 10:25:58

bind 其实返回的是一个新的函数 

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

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信