在事件发射器中为日期选择器发射日期对象

时间:2019-04-05 19:29:51

标签: javascript angular datepicker

我有一个自定义的Date Picker子组件,其中onDateChange事件是要向父组件发出一个事件。

@Output() selectedDateChange = new EventEmitter<Date>();
onDateChange($event) {
    this.selectedDateChange.emit($event); //$event has proper Date Value
}

在父组件中,我的html中有

<app-custom-date (selectedDateChange) = "onSomeTestMethod($event")> </app-custom-date>

和TS

someAttrib: Date;
onSomeTestMethod($event) {
   this.someAttrib = $event; //type of $event is Object but has proper data
}

我在将类型对象的$ event转换为Angular中的Date时遇到问题

1 个答案:

答案 0 :(得分:1)

当我使用日期类型的输入时,我已经得到了它的值,并且它是一个字符串,然后我将字符串值解析为日期,请检查此示例

自定义日期

<input  type="date" #v (change)="onDateChange(v.value)" />

组件

  @Output() selectedDateChange = new EventEmitter<Date>();

  onDateChange(value) {        
    this.selectedDateChange.emit( new Date(value));
  }

app.component

模板

<app-custom-data (selectedDateChange)="log($event)"></app-custom-data>

组件

  log(value){
    console.log(typeof value); // object
    console.log( value instanceof Date); // true value is a date object
    console.log(value)
  }

demo