Angular Typescript为数组创建类

时间:2018-03-26 04:44:42

标签: angular typescript

我仍然是编程的初学者,并且正在努力使用有关TypeScript的信息。我想创建对象:

import { info } from '../info';
Information: info {
name: 'John',
id: 5,
comments: [
    {
    rating: 5,
    comment: 'some text'
    },
    {
    rating: 20,
    comment: 'another text'
    },
    {
    rating: 4,
    comment: 'hello world!'
    }
]};

我应该如何初级化一个类?

export class info {
name: string,
id: number,
comments: ???    }

1 个答案:

答案 0 :(得分:2)

假设您在与业务逻辑相同的目录中有一个名为info.ts的文件。 info.ts看起来像这样:

export class Comment {
  rating: number;
  comment: string;

  constructor(rating: number, comment: string) {
    this.rating = rating;
    this.comment = comment;
  }
}

export class Info {
  id: number;
  name: string;
  comments: Comment[];

  constructor(id: number, name: string, comments: Comment[]) {
    this.id = id;
    this.name = name;
    this.comments = comments;
  }
}

然后在文件中使用类:

import { Info, Comment } from './info';

...
...

const comments = [new Comment(2, 'his comment'), new Comment(4, 'her comment')];
const info = new Info(99, 'John', comments);

...用信息做什么......或者其他什么

**旁注**

如果类定义文件info.ts与业务逻辑不在同一个目录中,则只需使用相对路径。

有时,当你有像这样../../../../../info.ts的垃圾时,你可以通过相对路径进入令人讨厌的情况,然后必须移动文件......有时候IDE不能准确地更新所有相对路径。通过配置tsconfig以允许您定义模块分辨率,查看本文以获得更好的处理方法:

https://netbasal.com/sexier-imports-in-typescript-e3c645bdd3c6

那篇文章主要关注Angular,但是同样的事情可以通过node.js完成......考虑到节点如何构建和解析模块,它会变得更加棘手。