확인란이 checkbox 변수가 true로 설정된 경우 템플릿이 주식 모델의 변경 사항을 감지하지 못합니다. 변경 감지 기능을 사용했지만 제대로 구현했다면 확실하지 않으므로 코드 예제에서 제거했습니다. 이상하게도 원격 서비스에서 데이터를 가져 오기 전에 문제가 없었습니다. http://plnkr.co/edit/0EfkaSpk3Ag9p5NH5jJ2?p=previewAngular4 ngIf가 업데이트되지 않습니다
여기 내 컨트롤입니다 : 내 NG-용기 내
<tr *ngFor="let stock of stocksObservable | async;">
<td>
<input [checked]="stock.isChecked" (change)="stock.isChecked = !stock.isChecked;onSelectStock($event);" type="checkbox"> <a href="">{{ stock.number }}</a> {{stock.isChecked}}
</td>
</tr>
, 내가 선택한 주식을 볼 수
은 여기 내 plunker의 예입니다. 난 당신이 잘못된 방법으로 관찰 가능한을 사용하는 생각
//services
branchesObservable : Observable<object> ;
stocksObservable : Observable<object> ;
isChecked: boolean;
selectable: boolean;
constructor(private stocksService: StocksService) {
this.branchesObservable = this.stocksService.get_branches();
}
//fetch stock data into table
getBranchStocks(value){
this.stocksObservable = this.stocksService.get_stocks(value);
}
//select stocks
onSelectStock(event) {
this.isChecked = !this.isChecked;
}
에 있습니다.'stocksObservable | 비동기'를 두 번. 따라서 관찰 가능 항목에 두 번 등록하고 2 개의 HTTP 요청을 보내고 두 개의 다른 주식 배열을 얻습니다. 어떻게 작동하는지 이해하지 않으면 비동기를 사용하지 마십시오. –
나는 각도가 매우 새롭다. 그리고 관찰 할 수있는 것들을 다루는 것은 이번이 처음이다. 그래서 나는 여전히 그 머리를 감싸고있다. 나는 어떤 주식이 선택되었는지를 반복하려고하고있다. 귀하의 도움을 주셔서 감사합니다 – mduve
대신에 색인을 추적하여 각 obj에 대한 배열을 점검하고 check obj의 배열 목록에 항목을 추가/제거하고 정상적으로 트래버스합니다. 당신의 모범을 보았습니다. – Asura