Angular2 mydatepicker禁用,因为选项不起作用

Angular2 mydatepicker禁用,因为选项不起作用,angular,Angular,我正在与angular2的mydatepicker合作,我正在使用我网站的datepicker在这两个日期范围内进行请愿。但是我需要做一些验证,比如初始日期不在最终日期之后,反之亦然,最终日期不能在初始日期之前 ,我发现在options对象中,我可以设置这些属性,问题是如果我从一开始就修复它们,它们不起作用,至少不是实时的,但这对我的站点没有用处 这是html模板: <div class="col-md-5" style="float: right"> <my-dat

我正在与angular2的mydatepicker合作,我正在使用我网站的datepicker在这两个日期范围内进行请愿。但是我需要做一些验证,比如初始日期不在最终日期之后,反之亦然,最终日期不能在初始日期之前

,我发现在options对象中,我可以设置这些属性,问题是如果我从一开始就修复它们,它们不起作用,至少不是实时的,但这对我的站点没有用处

这是html模板:

<div class="col-md-5" style="float: right">

    <my-date-picker name="mydate" placeholder="Fecha final" [(options)]="optionsFechaFinal" (dateChanged)="onDateChanged($event,1)" required></my-date-picker>

</div>

<div class="col-md-5" style="float: right">

    <my-date-picker name="mydate2" placeholder="Fecha inicial" [(options)]="optionsFechaInicial" (dateChanged)="onDateChanged($event,0)" required></my-date-picker>

</div>

我不确定我遗漏了什么,代码有什么问题?

您必须更改对整个选项对象的引用,如下所示:

if (datepicker == 0) {
    this.optionsFechaFinal = {
    // other options...
      disableUntil = event.date;
    };
...
}
不能更改对象选项


当然,这不是正确的解决方案。首先,为了避免代码重复,您必须在没有引用的情况下复制对象选项,然后添加必要的属性。

有一个选项可以在某个日期之前和之后使用disableSince和disablesintil选项禁用日期选择器

onDateChanged(event: IMyDateModel, datepicker: number) {
    if (datepicker == 0) {
      this.optionsFechaFinal = {
            disableUntil : {year:event.date.year,month:event.date.month,day:event.date.day
           };
      this.initialDate = Date.parse(event.date.year + '-' + event.date.month + '-' + event.date.day) / 1000;}
    } else if (datepicker == 1) {

      this.optionsFechaInicial{
            disableSince : {year:event.date.year,month:event.date.month,day:event.date.day
          };
        };
      this.finalDate = Date.parse(event.date.year + '-' + event.date.month + '-' + event.date.day) / 1000;
    }
  }
onDateChanged(event: IMyDateModel, datepicker: number) {
    if (datepicker == 0) {
      this.optionsFechaFinal = {
            disableUntil : {year:event.date.year,month:event.date.month,day:event.date.day
           };
      this.initialDate = Date.parse(event.date.year + '-' + event.date.month + '-' + event.date.day) / 1000;}
    } else if (datepicker == 1) {

      this.optionsFechaInicial{
            disableSince : {year:event.date.year,month:event.date.month,day:event.date.day
          };
        };
      this.finalDate = Date.parse(event.date.year + '-' + event.date.month + '-' + event.date.day) / 1000;
    }
  }