DOMの値を更新する際に問題が発生しています。angular2 - ngIf値がDOMで更新されない
私は現在、2つのコンポーネント(AとB)を持っています。
<A>
<template>
<div *ngFor="let item of items" (click)="selected($event, item)">
<span>{{item.name}}<span>
</div>
</template>
</A>
そしてAの図のようなある:Bは、鋳型としてAのビューを使用するだけでなく、(NG-コンテンツ)にそのテンプレートを注入するようにBの図のようなある、Aから継承
<ng-content select="template"></ng-content>
<div *ngIf="searching">Hey I'm looking for answer</div>
<div *ngIf="!searching">I already have my answer</div>
成分this.selectedItemが機能変更
private searching: boolean = true;
selected(event, value: any): void {
event.stopPropagation();
this.searching = false; // This.searching is updated in component but not in DOM
this.selectedItem = value; // BUT this.selectedItem is updated in component AND in DOM !!
}
が、this.searchingんではないため、唯一の「はい」:Bは、項目の配列であり、Aの成分であるBによって呼び出される1つの具体的な方法を持っている唯一のプライベート変数を持っています検索は常にTRUEなので表示されます。
ここにはplunkrがあります。
誰かが私を啓発できますか?ありがとうございました。
なぜevent.stopPropagation()を使用していますか。 ? – distante
あなたはHTMLとコンポーネントのコード全体を投稿できますか? –
ここにplunkrがあります:https://plnkr.co/edit/DP7K5Q63kEqXmQbRA98I?p=preview – NPanda