我已经在我的service.ts
中定义了主题onEditItem()
indetail.component.ts
传递了 id in 的值,.next()
并且在new.component.ts中订阅了主题
但是订阅不起作用。订阅ngOnInit
在new.component.ts中完成
id 的值传入成功,onEditItem()
但是订阅不起作用。我试过在订阅中进行 console.log 检查。但是控制台中没有打印任何内容。
在details.component.html
<a class="btn btn-primary" (click)="onEditItem()" routerLink="/new">Edit</a>
在details.component.ts
onEditItem(){this.contactService.startedEditing.next(this.id);}
在contactService.ts
export class ContactService {
startedEditing =new Subject<number>();
}
在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
应该使用详细信息组件中的值进行初始化,但订阅在ngOnInit
.