错误TypeError:无法读取未定义的属性“id”(Angular)

问题描述 投票:-1回答:1

大家好我得到了这个错误,我不知道如何解决这个问题,因为我刚开始学习Angular。有人可以帮我弄这个吗?

component.ts

export class AdminUser implements OnInit {
Form: FormGroup;
currentUser: User;
user: Array<any> = [];
admin: Array<any> = [];
searchText: string;
id:string;

constructor(private fb: FormBuilder,
private individualSrv: IndividualService,
private userSrv: UserService,
private router: Router
) {
let res = individualSrv.getAll();
res.then(result => {
  result.subscribe(_user => {
    this.user = _user;
  });
});
}
  navigate(path: string) {
this.router.navigate(["/admin/" + path],{
  queryParams: {id: this.currentUser.id}
});

component.html

<ng-container *ngFor="let content of user">
                <tr>
                    <td>{{content.fullname}}</td>
                    <td>{{content.createddate | date}}</td>
                    <td><a (click)="navigate('userSetting')"><i class="fa fa-cog"></i> Setting</a></td>
                </tr>
angular firebase
1个回答
2
投票

HTML代码:

<ng-container *ngFor="let content of user">
  <tr>
    <td>{{content.fullname}}</td>
    <td>{{content.createddate | date}}</td>
    <td><a (click)="navigate('userSetting')"> // This is wrong
                    //<td><a (click)="navigate(content)"> // Use this instead
    <i class="fa fa-cog"></i> Setting</a></td>
  </tr>
</ng-container>

你的导航可能是这样的:

navigate(user) {
this.router.navigate(["/admin/" + user.path],{
  queryParams: {id: this.user.id}
});
© www.soinside.com 2019 - 2024. All rights reserved.