如何将枚举用于服务方法参数(在 Angular 项目中)
How to Use Enums for Service Method Params (in AngularProject)
我在 Angular 9 项目中工作。
我有一个正在组件中使用的服务。服务中方法的参数指定 panelClass 名称。而不是使用字符串,我想为此使用枚举。但我不确定如何以这种方式使用枚举。
这是我的服务,我已经声明了我的枚举:
export enum SnackBarPanelClass {
fail = "snack-bar-fail",
success = "snack-bar-success"
}
@Injectable({
providedIn: "root"
})
export class SnackBarService {
constructor(private snackBar: MatSnackBar) {}
showMessage(msg: string, panelClass: SnackBarPanelClass): void {
const config = new MatSnackBarConfig();
config.panelClass = [panelClass];
this.snackBar.open(msg, "x", config);
}
}
如何从组件中获取此枚举?
这是组件当前如何使用服务的示例(使用字符串参数而不是枚举):
this.snackBarService.showMessage("There was an error getting info", "snack-bar-fail");
我如何在这里使用枚举而不是字符串?
this.snackBarService.showMessage("There was an error getting info", SnackBarPanelClass.fail);
我在 Angular 9 项目中工作。
我有一个正在组件中使用的服务。服务中方法的参数指定 panelClass 名称。而不是使用字符串,我想为此使用枚举。但我不确定如何以这种方式使用枚举。
这是我的服务,我已经声明了我的枚举:
export enum SnackBarPanelClass {
fail = "snack-bar-fail",
success = "snack-bar-success"
}
@Injectable({
providedIn: "root"
})
export class SnackBarService {
constructor(private snackBar: MatSnackBar) {}
showMessage(msg: string, panelClass: SnackBarPanelClass): void {
const config = new MatSnackBarConfig();
config.panelClass = [panelClass];
this.snackBar.open(msg, "x", config);
}
}
如何从组件中获取此枚举? 这是组件当前如何使用服务的示例(使用字符串参数而不是枚举):
this.snackBarService.showMessage("There was an error getting info", "snack-bar-fail");
我如何在这里使用枚举而不是字符串?
this.snackBarService.showMessage("There was an error getting info", SnackBarPanelClass.fail);