これは最初の角度の成分です。ここにあります:なぜ[(ngModel)]は角度4のすべてのテンプレートを分解しますか?
import { Component } from '@angular/core';
export class Hero{
id:number;
name:string;
}
const HEROES: Hero[]=[
{id:11,name:'Mr. Nice'},
{id:12,name:'Arco'},
{id:13,name:'Gillette'},
{id:14,name:'Celeritas'},
{id:15,name:'Magneta'},
{id:16,name:'RubberMan'},
{id:17,name:'Dynama'},
{id:18,name:'Dr. Iq'},
{id:19,name:'Magma'},
{id:20,name:'TOrnado'}
];
@Component({
selector: 'my-app',
template: `<h1>{{title}}</h1>
<h2>My heroes</h2>
<ul class="heroes">
<li *ngFor="let hero of heroes" (click)="onSelect(hero)">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
</ul>
<h2>Details of {{selectedHero.name}}</h2>
<div><label>Id: </label>{{selectedHero.id}}</div>
<div>
<label>Name: </label>
<input [(ngModel)]="selectedHero.name"/>
</div>
`,
styles: [`
`]
})
export class AppComponent {
title = 'Tour of Heroes';
heroes = HEROES;
selectedHero: Hero;
onSelect(hero: Hero): void {
this.selectedHero = hero;
}
}
私はstyles
要素が大きいので削除しました。私のテンプレートは、私がtemplate
要素でこれを使うheroes
配列、結合しない :
<input [(ngModel)]="selectedHero.name"/>
しかし、私は入力の上、削除し、配列からすべてheroes
が正しく<ul>
リストに表示されます。
なぜですか?
は 'FormsModule'をインポートするあなたのモジュールですか?あなたのコンソールに何かエラーがありますか? – UncleDave
はい、[(ngModel)]を削除するとすべて正常に動作します。 –
「ブレーク」とはどういう意味ですか?角モジュールに 'FormsModule'を含めなかった場合、エラーが表示されます。私が見る唯一の問題は、selectedHeroは宣言されているかもしれませんが、それは未定義です(型として定義されていますが、値がないため、* ngIf程度かかります) – briosheje