Angular 2 - ngIf - 不是div的已知属性

时间:2016-10-03 07:39:37

标签: angular

所以我显然对ng2很新,就像现在很多人一样。随着第一个版本的发布,我一直在学习。我开始尝试一些更“ng2”的思维方式。

然而,像ngIf这样简单的事情我无法开始工作。

这是我的观点:

<div *ngIf="testVariable" class="checkbox">
    <label>
        <input type="checkbox" formControlName="rememberMe" value="remember-me"> Remember me
    </label>
</div>

在我的component.ts中:

import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';

...

ngOnInit() {
    this.loginForm = this._fb.group({
    username: ['', [<any>Validators.required]],
    password: ['', [<any>Validators.required]],
    rememberMe: []
  });

  this.testVariable = false;
}

我是否需要额外输入一些东西?我已经看到导入CORE_COMPONENTS的预发布ng2示例,但我找不到最近的示例。

我的模块声明:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';

import { LoginComponent }   from './login.component';

@NgModule({
  imports: [ ReactiveFormsModule, CommonModule ],
  exports: [ LoginComponent ],
  declarations: [ LoginComponent ],
  providers: [ ],
})
export class LoginModule { }

2 个答案:

答案 0 :(得分:5)

您必须在应用程序的CommonModule @NgModule声明中添加imports,如下所示:

@NgModule({
  imports     : [
    CommonModule
  ]
})
export default class AppModule {}

答案 1 :(得分:0)

您必须将BrowserModule添加到模块声明中。指令NgIf应在使用前导入。

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';

import { LoginComponent }   from './login.component';

@NgModule({
  imports: [ ReactiveFormsModule, BrowserModule ],
  exports: [ LoginComponent ],
  declarations: [ LoginComponent ],
  providers: [ ],
})
export class LoginModule { }