从代码中可以看出,我有一个显示所有用户的弹出窗口,并检查当前项目的用户。这是一个ts文件:
users = [];
projectUsers = [];
constructor( private userService: UserService, private projectService: ProjectService, public dialog: DialogRef<any> ) {
super( dialog, dialog.context );
}
ngOnInit() {
this.projectService.getUsersForProject(this.context.projectId).subscribe(
(response:any) => {
this.projectUsers = response
},
error => { console.error( error ); },
);
this.userService.get().subscribe(
response =>
this.users = response,
error => { console.error( error ); },
);
}
containsUser (user) {
for( var u of this.projectUsers) {
if (u.user.id === user.id) {
return true;
}
}
return false;
}
selectUser(category, event , user) {
if (event.target.checked) {
this.projectUsers.push(user);
}
else {
this.projectUsers.splice(user);
}
}
submitUser() {
this.confirm(this.projectUsers);
}
}
这是html的一部分:
<li *ngFor="let user of users">
<input class="roles-li" type="checkbox" [checked]="containsUser(user)" name="user" (change)="selectUser(option, $event, user)">{{ user.person.name }}
</li>
selectUser函数应该监听更改,如果我正在检查任何添加到项目的用户,它将在projectUser数组中将其推送,或者如果未选中则将其拼接。
容器函数中出现问题,调试器指向(if(u.user.id === user.id))错误消息:无法读取未定义的属性“id”。
只有在我检查一些用户并继续执行功能后才会发生这种情况。有谁知道为什么会这样?
答案 0 :(得分:0)
object
我认为您需要在if中进行此测试 如果您的'u'或'user'未定义,您将收到错误消息。
答案 1 :(得分:0)
我认为问题是:
FILE * fp = fopen ("file.txt", "a +");
setvbuf (destination_file, NULL, _IOFBF, BUFFER_SIZE);
您应该阅读 renders in between each item 以及需要的参数。