Я определил тему в моем service.ts
onEditItem()
в detail.component.ts
передает значение id в .next()
, и субъект подписывается в new.component.ts
Но подписка не работает. Подписка осуществляется в ngOnInit
в new.component.ts
Значение id успешно передано в onEditItem()
, но подписка не работает. Я попытался сделать console.log проверить внутри подписки. Но в консоли ничего не печатается.
in details.component.html
<a class="btn btn-primary" (click)="onEditItem()" routerLink="/new">Edit</a>
in details.component.ts
onEditItem(){this.contactService.startedEditing.next(this.id);}
in contactService.ts
export class ContactService {
startedEditing =new Subject<number>();
}
in new.component.ts
ngOnInit() {
this.subscription = this.contactService.startedEditing.subscribe(
(index: number) => {
console.log(index);
this.editedItemIndex = index;
console.log(this.editedItemIndex);
this.editMode = true;
this.editedItem = this.contactService.getContacts(index);
this.editForm.setValue({
name: this.editedItem.name,
address: this.editedItem.address
})
}
);
}
Я ожидал, что форма, определенная в new.component.html
, должна быть инициализирована с помощью компонента value from details, но подписка не работает в ngOnInit
.