我正在尝试使用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;节
答案 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'曾多次输错。只是有点耐心。 :)