我是一个新的项目人员,我的问题是我想将数据从一个组件传输到另一个组件。实际上,我想在数据库的文本字段中显示数据,然后必须对其进行更新。我有一个组件名称ricerca.component.ts,其中显示了表中的数据。现在,当我单击特定行(行)时,该特定记录的数据就必须在我的其他组件名称中显示为generatecontract.comonent.ts。我不知道该怎么做。
我使模型名称为ContractDblist,将所有这些值分配给该模型,但不幸的是没有解决其他组件中的问题
这是我的ricercacomponnet代码
if(tag === 'Item1'){
this.router.navigate(['/workflow/rigester' ]);
}
}
public lstContractRecordDbValue :any[];
getContractRecordbyParameter(selecteditem: any, index: number) { this.workFlowService.getContractRecordbyParameter(selecteditem).subscribe(data => {
this.lstContractRecordDbValue = data;
this.contractdblist.cnt_num=this.lstContractRecordDbValue[0].CNT_NUM;
this.contractdblist.contract=this.lstContractRecordDbValue[0].CONTRACT; this.contractdblist.contacttype=this.lstContractRecordDbValue[0].CONTRACT_TYPE; this.contractdblist.contractno=this.lstContractRecordDbValue[0].CONTRACT_NO;
this.loading = false;
}, error => {
console.error('getAllTickets', error);
this.loading = false;
})
}
答案 0 :(得分:1)
您可以使用“主题”来完成
import { Injectable } from "@angular/core";
import { Subject } from "rxjs";
@Injectable()
export class MessageService {
private subject = new Subject<any>();
constructor() {}
sendMessage(message: any) {
this.subject.next(message);
}
getData() {
return this.subject.asObservable();
}
}
因此您可以调用MessageService
类方法sendMessage()
来发送数据
我在这里定义了2种方法。第一种使用next()将消息发送到下一个订阅者的方法。因此,在您的组件中,您只需要像这样简单地订阅即可获取数据
private subscription$: Subscription;
public ngOnInit(): void {
this.subscription$ = this.messageervice
.getData()
.subscribe(data => { console.log(data); })
}
public ngOnDestroy(): void {
this.subscription$.unsubscribe();
}
答案 1 :(得分:0)
有很多方法可以做到其中一些
您可以通过上述所有方式访问其官方网站。