我应该插入并使用本地数据模型还是直接使用服务器响应?

时间:2017-11-29 07:49:17

标签: javascript html angular

我正在开发一个应用程序,其前端为angular2,后端为laravel。前端使用RESTful API与服务器通信。

前端有一个页面,其中一个角度组件从服务器获取数据并将其显示在屏幕上。我们假设我们有以下JSON响应

{
  "books": [1, 2, 3],
  "is_active": true,
  "user": {
    "first_name": "Munish",
    "last_name": "Kumar",
    "age": 25
  }
}

现在,我是否应该直接从服务器响应中将对象属性插入到HTML中,如此{{ responseObj.user.first_name }}

OR

我应该首先在角度2模型类中转换服务器响应吗?

export class User {
  firstName: string;
  lastName: string;
  age: number

  constructor(fname, lname, age) {
    this.firstName = fname;
    this.lastName = lname;
    this.age = age;
  } 
}

const u = responseObj.user;
let user = new User(u.first_name, u.last_name, u.age);

然后在HTML {{ user.firstName }}

如果我不在角度类中对服务器响应进行建模,那么在开发过程中服务器包含JSON响应的更改时,在使用这些属性的任何地方更改对象属性可能会非常繁琐。

有时似乎没有必要在将响应显示在页面上之前对其进行建模。

是否有适用的最佳做法或一般规则?

1 个答案:

答案 0 :(得分:0)

最好为响应创建一个模型作为界面。将自定义对象上的接口实现为类型。

将订阅者下一个函数的响应分配给自定义对象,然后在组件模板上插入自定义对象。

这样您就可以确保响应始终符合您的对象模型。