Angular 2无法绑定到' ngif'因为它不是一个已知的财产

时间:2016-11-04 15:30:39

标签: angular typescript angular-ng-if

我正在尝试使用Angular 2.我有一个带有两个组件的工作测试应用程序。这一切都有效,但当我尝试使用*ngif

时崩溃了

关于这个问题已经有很多问题,但大多数答案都指向导入" BrowserModule"解决问题。 就我而言,我已经这样做了。还有什么可能导致这个问题?

我的HTML

<table class='table' *ngif="products && products.length">

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent }  from './app.component';
import { CrazyComponent }  from './products/crazy.component';

@NgModule({
      imports: [ BrowserModule ],
      declarations: [ AppComponent, CrazyComponent ],
      bootstrap: [ AppComponent ]
})
export class AppModule { }

完整错误:

无法绑定到&#39; ngif&#39;因为它不是“表格”的已知属性。嵌入式模板上的任何指令都未使用的属性绑定ngif。确保属性名称拼写正确,所有指令都列在&#34;指令&#34;节

2 个答案:

答案 0 :(得分:20)

你有一个错字。使用ngIf代替ngif

正确的使用方法:

 <table class='table' *ngIf="products && products.length">

<强>更新

许多人(包括我)都遇到了这个问题,因为IntelliJ IDEA / WebStorm自动完成功能无效ngif。此外,IDEA将*ngIf视为无效。

最近我将我的IDEA与JS / Angular插件一起升级到了2017.2.5,这个问题就消失了。此外,我有更好的NG2 +自动完成和更好的TypeScript支持。这就是我高度建议升级JetBrains软件的原因。

答案 1 :(得分:0)

你有一个错误,因为“* ngif”正确的是“* ngIf”。这里的首都'我'和* ngFor..I中的首都'F'曾多次输错。只是有点耐心。 :)