【问题标题】:Angular - i18n usesAngular - i18n 使用
【发布时间】:2020-07-15 20:00:18
【问题描述】:

我想根据我使用的用户使用相同的标签呈现不同的字符串。

例如:

对于用户 1:

<h1>Hello I am the user 1</h1>

对于用户 2:

<h1>What's up user 2?</h1>

我不想使用条件语句(也许是 .json?我不知道)。这是一个大项目,所以我需要一些一致的东西。

有什么想法吗?

【问题讨论】:

  • 什么条件决定了应该显示什么?你可能有多少条件?你想要多少个地方有条件文本?您可以在问题中添加很多信息,以帮助阐明要求。
  • @KurtHamilton 我必须为 31 个不同的客户添加很多不同的内容。这只是一个简单的例子。
  • 那么这可能是个坏例子?
  • @Antoniossss 我认为这是一个明显的例子。我刚刚添加了一个简单的 html 标头来做一个简单的示例,但显然,我将有很多标签,其中包含很多字符串,如正文、页脚、不同的弹出窗口等。就像我说的那样,这是一个大项目。
  • 根据用户从后端获取这些数据不是更容易吗?假设每个用户都有一个不会改变的自定义问候消息。但是,如果您想从问候消息列表中为每个用户随机发送问候消息,我认为您需要编辑您的问题以更清晰。

标签: angular angular9 angular-elements


【解决方案1】:

你可以像这样将它委托给组件控制器

<h1>{{userSpecificGreeting}}</h1>

在组件代码中

get String userSpecificGreeting(){
    return this.getUserSpecificGreetingSomehow(this.currentUser); //do it here or delegate to a shared service
}

如果我理解您不清楚的评论,也许最好将其封装为单独的组件、管道或指令,以便其他组件可以使用此类问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-27
    • 2019-09-06
    • 2018-08-06
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多