基础组件的Angular HostBinding属性

时间:2018-09-06 14:22:29

标签: angular

有人可以解释一下我在嵌套组件中的HostBinding如何理解我们已经具有“ isTablet”属性,而只是将“ is-tablet”类添加到主机元素中吗?

Webstorm说我们已经覆盖了isTablet基本属性,但是我的子组件在此属性中为TRUE。

我在官方文档中找不到任何解释

  export abstract class DetailBase {
       @Input() isTablet: boolean = true;
  }

  export class ChildComponent extends DetailBase {
       @HostBinding('class.is-tablet') isTablet: boolean; //why it is TRUE ?
  }

1 个答案:

答案 0 :(得分:1)

它是Typescript特定的行为。如果该类的成员根本没有定义值,则转译的javascript根本不包括该成员。看看转译的JavaScript herehere

由于扩展类为成员isTablet定义了值,因此子类可以通过原型继承访问isTablet