我在角度4项目中提供警报服务。所有组件都可以在该服务中设置警报,但只有一些显示它们,每个组件都在一个唯一的位置显示它们。 所以我的问题是如何在所有html文件中定义从服务中获取变量?
我的服务如下:
import { Injectable } from '@angular/core';
@Injectable()
export class AlertService {
message;
constructor() { }
setMessage(message){
this.message = message;
}
}
想要设置消息的组件只是导入服务并调用setMessage方法。但是当我尝试在html文件中使用消息时:
{{message}}
然后它超出了范围。如何在所有组件的所有html文件中访问此消息?
或许有更好的方法来解决这种需求而不是服务变量?
答案 0 :(得分:2)
为了使用组件中的消息,您需要在构造函数中注入服务(您可能正在这样做)。
组件:
export class MyComponent {
constructor(public alertService: AlertService)
在标记引用alertService.message而不是message。
{{ alertService.message }}