Saya sedang belajar Angular dan membutuhkan bantuan Anda :).
Saya memiliki dua komponen item daftar dan item daftar.
- daftar-item menunjukkan daftar item
- list-item adalah menambahkan item daftar baru.
Saat saya menambahkan item daftar pada item daftar dan menavigasi kembali ke item daftar, daftar item layanan bersama memiliki item duplikat. Sederhananya, saat saya menambahkan satu item daftar, saya melihat beberapa item duplikat di layar item daftar. Tautan GitHub untuk contoh proyek yang mereplikasi masalah ini adalah @ https://github.com/ChathaKiran/AngularSharedServiceIssue. Di bawah ini adalah cuplikan kode saya. Tolong beri tahu saya bagaimana cara memastikan tidak ada duplikat.
Layanan bersama
export class AppService {
private listItem = new BehaviorSubject(null);
listItemObservable = this.listItem.asObservable();
private listItems = new BehaviorSubject([] as string[]);
listItemsObservable = this.listItems.asObservable();
updateListItem(_listItem: string) {
this.listItem.next(_listItem);
}
updateListItems(_listItems: string[]) {
this.listItems.next(_listItems);
}
}
Komponen Daftar Item
export class ListItemsComponent implements OnInit {
_localListItems: string[];
constructor(private appService: AppService){}
ngOnInit(){
this.appService.listItemsObservable.subscribe(_listItems => {
this._localListItems = _listItems;
});
this.appService.listItemObservable.subscribe(_listItem => {
if (_listItem != undefined) {
var allItems = this._localListItems.concat(_listItem);
this.appService.updateListItems(allItems);
}
});
}
}
Daftar Item Komponen
export class ListItemComponent implements OnInit {
listItemName: string;
constructor(private maintenanceWindowService: AppService, private router: Router) { }
ngOnInit() {}
btnAddListItem(){
this.maintenanceWindowService.updateListItem(this.listItemName);
this.router.navigate(['list-items']);
}
}