有没有办法从DOM调用服务中定义的函数,我可以从DOM调用组件函数但是如何调用服务函数,如下所示:
@Injectable()
export class UtilsService {
constructor() {}
getSessionId() {}
}
<button name="getsession" (click)="UtilsService.getSessionId()">Get Session</button>
答案 0 :(得分:7)
视图绑定中表达式的范围仅限于组件类实例。 不支持直接从视图访问静态,全局,类型(枚举),....
为了能够在视图中引用它,必须可以通过组件类实例访问它:
constructor(public utilsService:UtilsService) {}
<button name="getsession" (click)="utilsService.getSessionId()">Get Session</button>
答案 1 :(得分:3)
通常Gunter的回答是完美的,我只是想说在视图上公开那些必要的功能。不要在视图(Law_of_Demeter)上公开服务中的所有内容。
查看强>
<button name="getsession" (click)="getSessionId()">Get Session</button>
组件类
export class MyComponent {
getSessionId: any;
constructor(private utilsService:UtilsService) {
this.getSessionId = utilsService.getSessionId;
}
}