组件@Input继承

bit*_*ise 6 typescript angular

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

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

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

  @Input()
  charCase: TextCaseType;
  ....
}
Run Code Online (Sandbox Code Playgroud)

我尝试在后代使用:

export class AlphabeticInputComponent extends BaseAlphaLocaleSensitiveInput 
implements OnInit {
  ...
}
Run Code Online (Sandbox Code Playgroud)

用模板

<input ... [charCase]="caseConvert" #input="ngModel" ...>
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

无法绑定到'charCase',因为它不是'input'的已知属性.... [错误 - >] [charCase] ="caseConvert"

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

要么

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

Pie*_*Duc 3

您不应该使用input标签,而应该使用您在以下文件中定义的选择器@Component

<ic-alphabetic-input [charCase]="caseConvert" #input="ngModel"></ic-alphabetic-input>
Run Code Online (Sandbox Code Playgroud)