Angular 2.で実験しています。2つのコンポーネントを備えた動作するテストアプリがあります。すべて動作しますが、*ngif
を使用しようとするとクラッシュします
この問題についてはすでに多くの質問がありますが、ほとんどの回答は、「BrowserModule」をインポートして問題を修正することを示しています。私の場合、私はすでにそうしています。他に何がこの問題を引き起こしているのでしょうか?
my 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 { }
完全なエラー:
「テーブル」の既知のプロパティではないため、「ngif」にバインドできません。埋め込みテンプレートのどのディレクティブでも使用されていないプロパティバインディングngif。プロパティ名のスペルが正しく、すべてのディレクティブが「ディレクティブ」セクションにリストされていることを確認してください
あなたはタイプミスを持っています。 ngIf
の代わりにngif
を使用します
それを使用する正しい方法:
<table class='table' *ngIf="products && products.length">
[〜#〜]更新[〜#〜]:
IntelliJ IDEA/WebStormオートコンプリートが無効なngif
を返すため、多くの人(私を含む)がこの問題を抱えています。さらに、IDEAハイライト*ngIf
は無効です。
最近、私はIDEAをJS/Angularプラグインと一緒に2017.2.5にアップグレードし、この問題はなくなりました。また、NG2 +オートコンプリートとTypeScriptサポートが改善されました。これが私が非常に JetBrainsソフトウェアをアップグレードすることをお勧めします。
"* ngif"が原因でエラーが発生します。正しいエラーは "* ngIf"です。ここでの大文字の「I」と* ngFor..Iの大文字の「F」は、何度もタイプミスしていたものです。少し我慢してください。 :)