服务类应该在功能模块上实现或单独实现

时间:2018-05-30 09:08:02

标签: angular angular5

我有一个组件(UserInformation),它位于共享文件夹中,使用不同的模块。组件HTML文件包含2个带有click事件的锚标记。 例如 -

 <a (click)="userClicked($event)"> {{userInfo.FullName}} </a>

UserInformation组件也被其他功能模块使用。 例如,功能模块1和功能模块2使用UserInformation。

我的问题是我可以在哪里停放服务类以实现点击事件,点击事件根据模块的行为有所不同。

服务类应该在功能模块中吗?如果那时,我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

创建组件必须实现的接口。

export interface IUserInformation {
  userClicked(event: any);
  userInfo: {
    FullName: string;
  }
}

现在,使用此共享组件的所有组件都必须实现此类:

export class FirstComponent implements IUserInformation {
  ...
}

如果您的组件未声明userClickeduserInfo,则您的linter将抛出错误。