web-dev-qa-db-fra.com

Impossible de se lier à 'ngIf' car ce n'est pas une propriété connue de 'div'

Can't bind to 'ngIf' since it isn't a known property of 'div'.

L'élément est <div [ngIf]="isAuth" id="sidebar">

Et le composant est:

import SessionService from '../session/session.service';
 import { Component  } from '@angular/core';

@Component({
  providers: [],
  selector: 'navbar-left',
  styles: [require('./navbar-left.scss')],
  template: require('./navbar-left.html'),
})
export default class NavbarLeftComponent {

  public isAuth: boolean = false;

  constructor(private sessionService: SessionService) {
    this.isAuth = sessionService.sessionIsAuth();
  }

}

Vous ne savez pas exactement ce que je fais mal? Ceci est un composant enfant. Dans le composant parent appelé composant App, le ngif fonctionne. Angular RC5

160
Ivaylo Ivanov

Si vous utilisez RC5, importez ceci:

import { CommonModule } from '@angular/common';  
import { BrowserModule } from '@angular/platform-browser';

et assurez-vous d'importer CommonModule à partir du module fournissant votre composant.

 @NgModule({
    imports: [CommonModule],
    declarations: [MyComponent]
  ...
})
class MyComponentModule {}
252
AngJobs on Github

Juste pour ceux qui le manquaient, j'avais également un problème où je tapais ngif plutôt que *ngIf (notez le "Je" et un astérisque * avant ngIf).

267
dudewad

Au lieu de [ngIf], vous devriez utiliser * ngIf comme ceci:

<div *ngIf="isAuth" id="sidebar">
25
Peter Salomonsen