无法绑定到'ngIf',因为它不是'div'的已知属性

时间:2016-08-20 19:45:00

标签: angular

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

元素为<div [ngIf]="isAuth" id="sidebar">

该组件是:

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

}

不确定我到底做错了什么?这是一个儿童组件。在父组件aka App组件中,ngif可以工作。 Angular RC5

3 个答案:

答案 0 :(得分:238)

对于任何错过它的人来说,我也有一个问题,我输入ngif而不是*ngIf(注意资本'我'和ngIf之前的星号*)。

答案 1 :(得分:228)

如果您使用RC5,请导入:

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

并确保从提供组件的模块中导入CommonModule

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

答案 2 :(得分:23)

而不是[ngIf]你应该像这样使用* ngIf:

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