angular 4 个组件目标(按选择器)
angular 4 component target by selector
我正在开发一个基于烤面包机通知的消息系统:
http://jasonwatmore.com/post/2017/06/25/angular-2-4-alert-toaster-notifications
我的问题很简单,我想扩展功能以允许多个警报组件可以在不同的模板中单独定位。
例如,根 app.component.html 模板将具有:
<alert root></alert>
子组件将具有:
<alert subcomponent></alert>
烤面包机教程(组件)的当前实现将以模板中警报组件的任何 实例为目标。
如果有两个,调用服务时它们会收到相同的消息。
理想情况下,我想在服务调用中添加另一个参数:
this.alertService.success(message,target);
您可以在名为 target 的警报指令组件中使用字符串输入属性。
并且当 alert.service 触发警报时,组件仅在目标匹配时显示:
alert.component.ts
// add this input
@Input() target: string;
ngOnInit() {
this.alertService.getAlert().subscribe((alert: Alert) => {
// add this statament
if (alert.target === this.target) {
this.alerts.push(alert);
}
});
}
alert.service.ts
/*each alert function recive an extra parameter for target, if you needed with a default value, "root" for example*/
root.component.html
<alert target='root'></alert>
other.component.ts
// calling an alert
this.alertService.success(
message='operation success',
target='root'
)
我正在开发一个基于烤面包机通知的消息系统:
http://jasonwatmore.com/post/2017/06/25/angular-2-4-alert-toaster-notifications
我的问题很简单,我想扩展功能以允许多个警报组件可以在不同的模板中单独定位。
例如,根 app.component.html 模板将具有:
<alert root></alert>
子组件将具有:
<alert subcomponent></alert>
烤面包机教程(组件)的当前实现将以模板中警报组件的任何 实例为目标。
如果有两个,调用服务时它们会收到相同的消息。
理想情况下,我想在服务调用中添加另一个参数:
this.alertService.success(message,target);
您可以在名为 target 的警报指令组件中使用字符串输入属性。
并且当 alert.service 触发警报时,组件仅在目标匹配时显示:
alert.component.ts
// add this input
@Input() target: string;
ngOnInit() {
this.alertService.getAlert().subscribe((alert: Alert) => {
// add this statament
if (alert.target === this.target) {
this.alerts.push(alert);
}
});
}
alert.service.ts
/*each alert function recive an extra parameter for target, if you needed with a default value, "root" for example*/
root.component.html
<alert target='root'></alert>
other.component.ts
// calling an alert
this.alertService.success(
message='operation success',
target='root'
)