【问题标题】:How to add additional information to ember models如何向 ember 模型添加附加信息
【发布时间】:2017-07-11 00:54:33
【问题描述】:

在从服务返回 JSON 数据后,我希望将其他数据添加到我的模型中。我与之交谈的服务将信息作为代码返回,但我还想包含一个更易读的名称以向用户显示。几乎所有使用该模型的地方都会这样做。

例子:

从服务中获取

{schedule: {code:'MONTHLY'}}

可以访问

{schedule: {code:'MONTHLY', name: 'Monthly'}}

这将适用于具有代码名称映射的事物,其中名称仅存在于前端,而代码是持久的。我看到有custom transforms 的概念,这是要走的路吗?

我还计划在另一个文件中保留所有可能的代码/名称的映射,以迭代或比较模型的属性。例如,我希望向用户展示可供选择的时间表,包括每月、每季度或每年。

【问题讨论】:

  • 你可以在模型中编写计算属性

标签: ember.js ember-data


【解决方案1】:

您应该在模型上创建一个计算属性。您可以称其为:“名称”或“显示名称”。它应该取决于模型上的“代码”属性。在计算属性内部,您应该访问服务。服务应该有一个映射代码 -> 名称的方法。您从服务模型调用的方法应该返回一个名称。代号地图应与模型分开。

当您想从模型中访问displayName 计算属性时,请使用model.displayName

【讨论】:

    猜你喜欢
    • 2016-10-21
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多