如何向ember模型添加其他信息

时间:2017-07-11 00:54:33

标签: ember.js ember-data

我希望在从服务返回JSON数据后,将更多数据添加到我的模型中。我与之交谈的服务将信息作为代码返回,但我还希望包含一个更易读的名称以显示给用户。这几乎可以在使用模型的任何地方完成。

示例:

从服务中获取

{schedule: {code:'MONTHLY'}}

可以访问

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

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

我还计划在另一个文件中保留所有可能代码/名称的映射,以迭代或比较模型的属性。例如,我希望为用户提供可供选择的日程表,每月,每季或每年。

1 个答案:

答案 0 :(得分:0)

您应该在模型上创建Computed Property。你可以称之为:“name”或“displayName”。它应该依赖于模型上的“代码”属性。在计算属性内,您应该访问服务。服务应该有一种映射代码的方法 - >名称。从服务模型调用的方法应该返回一个名称。代码名称映射应与模型分开。

每当您想从模型使用displayName访问model.displayName计算属性时。