【问题标题】:Where to store plain text (magic strings) in Angular在 Angular 中存储纯文本(魔术字符串)的位置
【发布时间】:2018-09-25 02:54:53
【问题描述】:

在我的 Angular 应用程序中,我想在我的控制器中设置简单的错误/通知消息。这方面的一个例子使用Material Snackbar for Angular:

this.snackBar.open(
  'Order successful',
  'OK',
  { duration: 2500 }
);

我现在的问题是,我不喜欢在我的控制器中为我的消息使用“魔术字符串”。 是否有存储此消息的最佳做法?

我曾考虑在专用的错误消息模型中使用 2.4 TypeScript 枚举和关联值。

非常欢迎经验和建议。

【问题讨论】:

    标签: angular design-patterns architecture magic-numbers


    【解决方案1】:

    您可以使用ng-translate 来存储所有字符串。

    然后你可以在你的控制器中注入服务并使用它来获取这样的字符串:

    translate.get('HELLO').subscribe((res: string) => {
      console.log(res);
      //=> 'hello world'
    });
    

    或者你可以像这样直接在模板中使用它:

    <div>{{ 'HELLO' | translate }}</div>
    

    您还可以使用它来支持多种语言,它提供了侦听更改的方法,例如language change

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 2014-11-03
      相关资源
      最近更新 更多