在TypeScript函数中设置迭代不正确评估

时间:2018-05-15 18:38:54

标签: angular typescript set

当我尝试运行以下代码时,我不断在控制台中收到此消息:" undefined不是对象(评估' this.courseAvailThisTerm')"。 courseAvailThisTerm()函数正常工作,因为它在其他上下文中有效。任何人都知道为什么我一直收到此错误消息?我尝试更改for循环版本,但这也不起作用。

for(let quarter of degreePlan) {
    foundationCourseSet.forEach(function(fc) {
            if(this.courseAvailThisTerm(fc, quarter.term))
                console.log("It was avail!");
        });
}

1 个答案:

答案 0 :(得分:1)

试试这个:

for(let quarter of degreePlan) {
    foundationCourseSet.forEach((fc) => {
            if(this.courseAvailThisTerm(fc, quarter.term))
                console.log("It was avail!");
        });
}

我将function (fc) {..}更改为箭头函数(fc) => {...},它在函数执行的上下文中保留this