如何初始化数组 在打字稿中/角?

问题描述 投票:0回答:2

我有一个Angular 8应用。

下面是我在打字稿中的模特之一。

export class Movie
{
  title:string;
  tickets: Array<Ticket>;
}

export class Ticket
{
   name:string;
   price:number;
}

在其中一个组件(电影)中,当我访问movie对象时,tickets未被初始化。

movie.component.ts

export class MovieComponent
{
  movieObj:Movie;

  constructor()
  {
    this.movieObj = new Movie();
    console.log(this.movieObj); // outputs title value but not tickets
   //console.log(this.movieObj.tickets[0].name); //undefined 
  }
}

在TypeScript中检查数组类型时,它是一个接口。 (我们无法创建接口的对象)

如何在打字稿/角度中初始化数组?

谢谢!

arrays angular typescript angular8 generic-collections
2个回答
0
投票

您可以在类本身中initialize

export class Movie
{
  title:string = 'Movie';
  tickets: Array<Ticket> = [{name: 'Ticket', price: 300}];
}

Stackblitz Demo


0
投票

您可以做这样的事情。

export class Movie
{
  title:string = 'Movie';
  tickets: Ticket[] = [];
}
export class Ticket
{
   name:string;
   price:number;
}
© www.soinside.com 2019 - 2024. All rights reserved.