英雄 Angular 之旅 : Why is one assigned with colon and another by equal signs

标签 angular typescript

环境:Angular 5+
来源:https://angular.io/tutorial

heroes.component.ts 类中有一个带冒号的赋值,如下所示:

export class HeroesComponent implements OnInit {
  heroes: Hero[];

但是在 app.component.ts 类中有一个带等号的赋值:

export class AppComponent {
  title = 'app';
}

为什么这让我感到困惑?

最佳答案

在这段代码中 heroes: Hero[]; 没有任何东西被分配给 var heroes,但是你声明它是一个 Hero 的数组(目前它是 undefined)。

现在,在这段代码 title = 'app'; 中,您将字符串 'app' 分配给 var title,因为 typescript 编译器可以推断 'app' 是一个字符串,所以不需要指定它 (title: string = 'app';),在heroes 的情况,编译器不知道将分配给 var 的内容,除非您通过“告诉”: Hero[] 来指定它(它是一个数组英雄)

关于英雄 Angular 之旅 : Why is one assigned with colon and another by equal signs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50419455/

相关文章:

angular - 有没有办法等待所有 Angular 2 组件被渲染?

angular - 在 Angular 4 应用程序中设置路径别名

Angular Timer 来计算时间

angular - 如何覆盖 Angular Material 2 datepicker的模板

typescript - 如何定义 TS 类型/接口(interface)等。哪个可以通过多个文件访问?

angular - Angular deploy-url 开关的问题

Angular:在构建期间向 Assets 中的文件添加哈希

Angular HTTP 拦截器订阅 observable 然后返回 next.handle 但抛出 TypeError : You provided 'undefined'

typescript - 如何指定数组的元素只能是 1 到 6 之间的数字?

Typescript:如何键入处理异步操作的自定义 redux 中间件