从后端检索日期时,禁用日期不起作用|角日期选择器

时间:2019-05-01 18:18:27

标签: angular date datetime asp.net-web-api angular-daterangepicker

我在使用角度Datepicker检索某些禁用日期时遇到问题,

当我对日期进行硬编码时,一切正常,

但是当我从Web api后端检索禁用日期时,禁用日期将被忽略...

我在编程方面仍然是菜鸟,我可能缺少一些愚蠢的东西

与异步编程或可观察变量有关吗?

component.html

// ...

public static File getResourceAsFile(String resourcePath) {
    try {
        InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStream(resourcePath);
        if (in == null) {
            return null;
        }

        File tempFile = File.createTempFile(String.valueOf(in.hashCode()), ".tmp");
        tempFile.deleteOnExit();

        try (FileOutputStream out = new FileOutputStream(tempFile)) {
            //copy stream
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = in.read(buffer)) != -1) {
                out.write(buffer, 0, bytesRead);
            }
        }
        return tempFile;
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

File fXmlFile = getResourceAsFile("configFile.xml");

// ...

component.ts

<input type="text" placeholder="Daterangepicker" class="form-control" bsDaterangepicker
      [datesDisabled]="disabledDates">

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案,但是我不确定解决方案的质量。如果有人得到更好的解决方案,我将不胜感激=)

我刚刚创建了另一个var并将后端的结果放入其中,之后,我循环到响应数组直到最后,并将每个结果压入我的主变量中。

我很确定这不是正确的方法,但目前我还没有找到更好的解决方案

export class Component implements OnInit {

 disabledDates :Date[] = [];
  test :Date[];
  constructor(...) { }

  ngOnInit() {

      ...
      this.getUnavaibilities();
  }


  getUnavaibilities(){
    this.homesService.getUnavaibilities(this.Id).subscribe(
      reponse => this.UnavailabilitieshandleSuccesfulResponse(reponse));
  }
  UnavailabilitieshandleSuccesfulResponse(reponse){
    this.test = reponse;
    console.log(this.test)
    for (var i = 0; i< this.test.length;i++) // for acts as a foreach
        {
            this.disabledDates.push(new Date(this.test[i]))
            console.log(this.test[i])

        }
  }
}