Javascript“this”-引用包含对象
Javascript `this` - reference containing object
我正在使用Javascript和React构建前端。我不知道如何引用包含对象的方法:
var RAttribute = React.createClass({
loadAssignmentsForList: function(elem) {
//other code
},
render: function() {
var assignmentsLoading = this.props.assignmentsLoading;
var lists = this.props.data.lists.map(function(elem) {
return (<li className='list-group-item grey'>
<div className='list-group'>
<RList key = {elem.name} data={elem}
assignmentsLoading={assignmentsLoading}
loadAssignmentsForList={this.loadAssignmentsForList(elem)}/>
</div>
</li>);
});
//other code
}
//other code
});
我正在尝试从render
内调用loadAssignmentsForList
,因此我正在使用this.loadAssignmentsForList(elem)
。然而,我得到了以下错误。
Uncaught TypeError: Cannot read property 'loadAssignmentsForList' of undefined
将.this
绑定到.map
,.map
中的this
不引用RAttribute
对象
var lists = this.props.data.lists.map(function(elem) {
// your code
}.bind(this));
或者您可以通过第二个参数将this
设置为.map
,比如这个
var lists = this.props.data.lists.map(function(elem) {
// your code
}, this);
此外,如果您使用ES6
,您可以使用箭头功能
var lists = this.props.data.lists.map((elem) => {
// your code
});
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何使用Dojo引用Google Maps事件中的包含类
- 包含的文件中引发引用错误..除非调用文件包含慢速代码
- 如何存储包含参数的JS函数引用
- ASP.NET MVC - 未捕获的引用错误:即使我包含库,也不会定义jQuery
- 如何从PHP文件输出javascript文件,该文件可以从脚本包含标记中引用
- 从事件回调中引用包含主干视图
- 引用包含的php页面中的对象,以及如何隐藏它
- 不包含块引用的节点的查询选择器
- getValues() 从包含引用的单元格中检索值时返回 0.0
- 未捕获的引用错误:包含列表中值的警报框
- 节点引用包含的帮助程序类上的错误
- 在