Я начал работать в изолированной angular 8 библиотеке, и я хочу создать компонент ввода с некоторыми характеристиками, проблема в том, что когда я устанавливаю тип недвижимости ie во входных данных значение свойства ie ничего не показывает Это пример с типом Date и значением new Date ('12 -23-2009 ')
interface ITypeInput {
getType: ()=>string
getValue:()=>any
}
abstract class ATypeInput {
value: any;
constructor(value: any) {
this.value = value;
}
setValue(val: any) {
this.value = val;
}
getValue() {
return this.value;
}
}
export class TextTypeInput extends ATypeInput implements ITypeInput {
getType = ()=>'text';
}
export class NumberTypeInput extends ATypeInput implements ITypeInput {
getType = ()=>'number';
}
export class DateTypeInput extends ATypeInput implements ITypeInput {
getType = ()=>'date';
}
export class KInputComponent implements OnChanges {
@Input() inputData: ITypeInput;
@Output() changeValue: EventEmitter<any> = new EventEmitter();
type: string;
value: any;
ngOnChanges(changes: SimpleChanges): void {
if(!!changes.inputData) {
this.type = this.getTypeOf(changes.inputData.currentValue)
this.value = changes.inputData.currentValue.getValue()
}
}
constructor() { }
getTypeOf(currentValue:ITypeInput): string {
return currentValue.getType();
}
valueInputChange(value) {
console.log(value);
this.changeValue.emit(value);
}
}
///app-component
export class AppComponent {
title = 'angul-akita';
initialValue:any;
constructor(){
this.initialValue =new DateTypeInput(new Date('12-23-2009'));
}
}
//KInputComponent
<input [value]="value" [type]="type"/>
//appComponent
<k-input [inputData]="initialValue"> </k-input>
компонент приложения только обновляет тип во входном компе onet, но значение не отображается.
некоторая идея, почему это происходит?