Angular 2创建模型与动态使用json对象?

时间:2017-01-18 15:50:09

标签: rest angular typescript single-page-application

使用Angular 2与rest api交互时。是否值得为每个对象创建typescript类(例如,employee,company,project,user ......)。另一个选择是获取json对象并在运行中使用它吗?

1 个答案:

答案 0 :(得分:2)

我建议使用模型,因为:

  1. 一段时间后,您的代码将更易于阅读,其他人也可以轻松了解您的所作所为
  2. 在项目中进行更改将更容易,例如obj [0]没有任何特殊含义,但obj ['username']更明显
  3. 您将在IDE中获得intellinsense
  4. 你可以把逻辑放在模型中,例如你的控制器会更薄

    name: string
    age: number
    
    sayInfo(): string {
      return `name is ${this.name} and age is ${this.age}`
    }
    

    一般管理你的应用程序将没有头痛(或至少不那么头痛):D

    请记住胖模型瘦控制器

  5. 不要忘记将超过五个参数传递给函数不是一个好习惯,而是使用一个对象,例如:

    constructor(file) {
      this.id = file['id']
      this.fileName = file['fileName']
      this.extention = file['extention']
      this.fileSize = file['fileSize']
      this.permission = file['permission']
      this.description = file['description']
      this.password = file['password']
      this.isFolder = file['isFolder']
      this.parent = file['parent']
      this.banStat = file['banStat']
      this.tinyLink = file['tinyLink']
      }
      getName(): string {
        return `${this.fileName}${(this.isFolder) ? '' : '.'}${this.extention}`
      }
      getIcon(): string {
        return this.isFolder ? 'fa-folder' : 'fa-music'
      }