如何解决如何创建通用的GlobaCommonMessage方法和使用Primeng消息
我想在我的angular项目的共享服务中创建一个通用的globalMessage方法。我想在成功单击每个提交按钮时显示消息,表示您的数据已保存或更新。我想为此编写一种通用方法,以便可以在所有不同组件中使用它。 我正在使用primeng消息服务显示消息。
例如:
submit(data,id) {
this.editService.editTask(id,data).subscribe(res => {
this.msgs = [];
this.msgs.push({ severity: 'success',summary: 'Success Message',detail: 'File edited successfully.' });
setTimeout(() => { this.msgs = []; },4000);
},error => {
this.msgs = [];
this.msgs.push({ severity: 'error',summary: 'Error Message',detail: 'Some data is not filled.' });
setTimeout(() => { this.msgs = []; },4000);
}
)
}
我试图在我的shared.service.ts中编写一个globaCommonlMessage方法,但是它不起作用。
public commonMessage: Subject<any> = new Subject();
globalCommonMessage(severity,summary,detail,time) {
let msgs = [];
msgs.push({ severity: severity,summary: summary,detail: detail,time: time });
this.commonMessage.next(msgs);
}
然后我尝试将此主题订阅到诸如edit.component.ts的构造函数上
this.sharedService.commonMessage.subscribe(res=>{
this.msgs= res;
setTimeout(()=>{
this.msgs=[]
},res.time)
}
但这没用。因此,如果有其他方法可以编写此方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。