angular2View中如何调用共享服务函数?

How to Call shared service function in angular 2 View?

我想从 "Another" 组件的视图文件中调用共享服务功能。

比如删除一条记录我想这样设置:

<tr *ngFor="let ddata of tableData.data; let i = ddata" 
(click)="delete_record(ddata)" 
[class.active]="ddata.discountauthorizationid == selectedRow">

这里 delete_record 必须是我将注入相关组件的服务的一部分。

在组件 class 中定义的每个 属性 都可以在模板中使用。

如果不将视图(模板)注入您的组件,就无法从视图(模板)调用服务。

您可以将服务注入 public 属性,这样您也可以在模板中使用服务方法。

constructor(public yourService: YourService) {

}

您的模板:

<a (click)="yourService.yourMethod()">Test mehod</a>

注意:请考虑更好的解决方案是调用您的组件方法而不是使用服务方法。服务是在彼此不认识的 类 之间共享信息的好方法

良好的做法是在 private 范围内使用该服务,并使用一种方法将其 return 用于视图。

喜欢这个post。

根据官方文档,在模板中注入 public 服务绑定它不是反模式。

https://angular.io/tutorial/toh-pt4