angular - 如何将枚举用于服务方法参数(在 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);
推荐阅读
- php - Google drive api 刷新令牌问题
- javascript - 类型错误:$container.isotope 不是函数
- c# - Json 文件 - 更改跟踪和重新加载
- java - How to extract only the letters from string equation Java
- laravel - Paypal 集成控制器在 Laravel 中不起作用
- javascript - Returning from setInterval in JavaScript/React.js
- javascript - 将十进制转换为小时和分钟 - Javascript
- sql - 无法在 Spark SQL 中执行嵌套 SQL 查询
- android - Android 清洁架构和相关实体
- html - 如何设置 HTML / CSS 按钮的宽度