Comment obtenir un tableau de données pour le rendu html templete Angulaire ngOnInit

0

La question

Je suis en train de chercher de l'info de l'arrière-plan et de le présenter dans des composants Angulaires. Mais je suis aller chercher dans ngOnInit d'abord avant de rendu mais il m'indique l'erreur angulaire. C'est mon composant.fichier ts

import { Component, OnInit } from '@angular/core';
import { UserService } from '../shared/user.service';
import { Router } from '@angular/router';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {

  constructor( private userService: UserService, private router: Router) { }

  userDetails = [];

  ngOnInit(): void {
    this.userService.getUserProfile().subscribe(
      (res:any)=>{
        this.userDetails = res['user'];
      },
      err=>{}
    );
  }

  onLogout(){
    this.userService.deleteToken();
    this.router.navigate(['/login']);
  }

}

C'est mon component.html fichier

<table #ngIf="userDetails" class="table-fill">
    <thead>
        <tr>
            <th colspan="2" class="text-center">
                User Profile
            </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>First Name</td>
            <td>{{userDetails.name}}</td>
        </tr>
        <tr>
            <td>Email</td>
            <td>{{userDetails.email}}</td>
        </tr>
        <tr>
            <td colspan="2" class="text-center">
                <input type="button" (click)="onLogout()" value="Logout">
            </td>
        </tr>
    </tbody>
</table>

C'est l'erreur que j'obtiens

Error: src/app/home/home.component.html:1:15 - error NG8003: No directive found with exportAs 'userDetails'.

1 <table #ngIf="userDetails" class="table-fill">
                ~~~~~~~~~~~

  src/app/home/home.component.ts:7:16
    7   templateUrl: './home.component.html',
                     ~~~~~~~~~~~~~~~~~~~~~~~
    Error occurs in the template of component HomeComponent.


Error: src/app/home/home.component.html:12:31 - error TS2339: Property 'name' does not exist on type 'never[]'.

12             <td>{{userDetails.name}}</td>
                                 ~~~~

  src/app/home/home.component.ts:7:16
    7   templateUrl: './home.component.html',
                     ~~~~~~~~~~~~~~~~~~~~~~~
    Error occurs in the template of component HomeComponent.


Error: src/app/home/home.component.html:16:31 - error TS2339: Property 'email' does not exist on type 'never[]'.

16             <td>{{userDetails.email}}</td>
                                 ~~~~~

  src/app/home/home.component.ts:7:16
    7   templateUrl: './home.component.html',
                     ~~~~~~~~~~~~~~~~~~~~~~~
    Error occurs in the template of component HomeComponent.

M'aider. J'ai essayé beaucoup de choses mais ça ne fonctionne pas

angular html http node.js
2021-11-20 12:05:49
1

La meilleure réponse

0

vous accédez à userDetails comme un Objet.Donc, remplacer

userDetails = [] as userDetails:any;
2021-11-20 13:31:28

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................