组件@Input继承

时间:2017-07-04 13:18:24

标签: angular typescript

我在组件中存在继承问题,我正在尝试为内部组件和服务实现类的层次结构。 我有几个类为实际组件提供通用功能,目的是更容易管理代码。

例如,我有一个(实质上是抽象的)基类:

@Component({
  selector: 'ic-base-alpha-locale-sensitive-input',
  template: '<div></div>'
})
export class BaseAlphaLocaleSensitiveInput extends BaseAlphaInput implements OnInit {

  @Input()
  charCase: TextCaseType;
  ....
}

我尝试在后代中使用:

export class AlphabeticInputComponent extends BaseAlphaLocaleSensitiveInput 
implements OnInit {
  ...
}

带有模板

<input ... [charCase]="caseConvert" #input="ngModel" ...>

我收到了一个错误:

无法绑定到'charCase',因为它不是'input'的已知属性。 ... [错误 - &gt;] [charCase] =“caseConvert”

  

在后代中继承@Input绑定的正确方法是什么   类?

  

一般来说,实现抽象类的最佳实践是什么   几个组件实现可以从中继承常见的   方法,属性和绑定?

1 个答案:

答案 0 :(得分:3)

您不应该使用input标记,而是使用@Component中定义的选择符:

<ic-alphabetic-input [charCase]="caseConvert" #input="ngModel"></ic-alphabetic-input>