当我发现很难编写一个使用变量的函数时,我正在尝试使用Angular 4和NodeJS编写一个小型Web应用程序,该变量将由我的服务进行初始化和更新。 这是我的片段:
getStudentsBySessionId() {
this.sessionService
.getStudentsBySession(this._sessionId)
.subscribe(students => {
this.sessionStudents = students;
this.reInitDatatable();
});
}
isAdded(studentId){
this.sessionStudents.forEach(student => {
if(student._id === studentId){
return true;
}
});
return false;
}
但是,当在模板文件中调用isAdded函数时,会引发sessionStudents未定义的错误。
在这种情况下如何正确编写程序?
谢谢!
答案 0 :(得分:0)
如何将sessionStudents初始化为空数组?然后我相信模板文件中的函数调用将起作用。假设以下是您的组件...
class YourComponent {
sessionStudents = [];
getStudentsBySessionId() {
this.sessionService
.getStudentsBySession(this._sessionId)
.subscribe(students => {
this.sessionStudents = students;
...
});
}
isAdded(studentId){
...
}
}
我相信当在订阅的成功处理程序中重新分配sessionStudents的值时,模板应自动获取更改。
这有帮助吗?