2016-08-20 3 views
77

Can't bind to 'ngIf' since it isn't a known property of 'div'.Kann nicht binden 'ngIf', da es nicht eine bekannte Eigenschaft von 'div' ist

Das Element ist <div [ngIf]="isAuth" id="sidebar">

Und die Komponente:

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(); 
    } 

} 

Nicht sicher was genau mache ich falsch? Dies ist eine untergeordnete Komponente. In der übergeordneten Komponente alias App-Komponente arbeitet das ngif. Angular RC5

+2

@JuanMendes Diese Frage wurde am 20. August gestellt und diejenige, auf die Sie hinweisen, war vor 3 Tagen. Wie kann dieser von dem anderen dupliziert werden? : D –

+0

die richtige Antwort auf diese Frage ist auch für die neueste Version korrekt. Ich folge deiner Logik nicht wirklich, da der Titel komplett anders ist. Wie auch immer, mach das, was du am besten findest: D –

+0

Du hast Recht bei 50%. Aber das macht die Frage nicht zu einem Duplikat. Wenn Sie wirklich hilfreich sein möchten, weisen Sie darauf hin, dass Sie das Modul auch als Import hinzufügen müssen. Meine Güte, du musst Spaß auf Partys haben: D –

Antwort

103

Wenn Sie RC5 diese verwenden dann importieren:

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

und sicher sein, CommonModule aus dem Modul zu importieren, die Ihre Komponente bereitstellt.

@NgModule({ 
    imports: [CommonModule], 
    declarations: [MyComponent] 
    ... 
}) 
class MyComponentModule {} 
+0

stellen Sie sicher, dass Ihre transpilation funktioniert und Sie haben die '* ngIf' in Ihrem Code – AngJobs

+0

Fehler: Name" CommonModule "kann nicht gefunden werden. Ich importiere "BrowserModule", aber es erzeugt immer noch den Fehler "ngif ist keine bekannte Eigenschaft – Kokodoko

+6

' importieren {CommonModule} aus '@ angular/common'; ' –

11

Statt [ngIf] Sie sollten verwenden * ngIf wie folgt aus:

<div *ngIf="isAuth" id="sidebar"> 
114

Gerade für jeden, der es fehlt, ich hatte auch ein Problem, wo ich ngif eher getippt als ngIf (beachten Sie die Kapitol "Ich").

+4

Reines Gold. Danke. – Remotec

+1

' nfIf' in meinem Fall, manchmal ...: facepalm: –

+0

Ich fühle mich so dumm jetzt ... danke! –

Verwandte Themen