小编Ale*_*ene的帖子

为什么两个JS日期对象实例化不同?

我想基于日期选择器启用/禁用按钮,我有一个像这样的检查设置:

  public dateChanged = false;
  public availableFromDate: Date;
  public availableToDate: Date;

 initDatepickers() {
    const currentDay = new Date();
    this.availableFromDate = currentDay;
    this.availableToDate = currentDay;
  }

 private dateCheck() {
    if ((this.availableFromDate > this.availableToDate) || (this.availableFromDate === this.availableToDate)) {
      this.dateChanged = false;
    } else {
      this.dateChanged = true;
    }
    console.log(this.dateChanged);
    console.log(`Available from - ${this.availableFromDate}`);
    console.log(`Available to - ${this.availableToDate}`);
  }
Run Code Online (Sandbox Code Playgroud)

检查工作正常,但是从日期开始时按钮启用了!如果将值记录到控制台,则禁用按钮,因为init值为false,而不是因为检查有效.

两个日期对象的初始化方式不同(console.log dump):

true
clinics-upload-documents.component.ts:73 Available from - Fri Feb 22 2019 00:00:00 GMT+0100 (Central European Standard Time)
clinics-upload-documents.component.ts:74 Available to - Fri …
Run Code Online (Sandbox Code Playgroud)

javascript date typescript

7
推荐指数
1
解决办法
99
查看次数

Angular 7.xx滚动到片段的最简单方法?

在过去的两天中,我一直在Internetz上挖掘有关将片段滚动到具有角度的视图中的信息。

假设我们有一个静态网页,其中包含一堆充当片段的ID。并具有一个侧面导航栏,可通过链接浏览片段。

我试过路由器anchorScroll只需添加对模块无所事事的我。它只是为您提供URL中的片段,但没有滚动。

我已经尝试过viewportScroller。这样做的主要问题是它第一次无法使用(例如:如果您一直在同一页面上并重复该过程,则将您重定向到具有所需片段的静态页面,但滚动不会发生) ,如果您单击导航栏旁边具有与您访问的URL相同的URL的链接,则它起作用: ([foo]/[bar]#[fragment])由于导航没有更改,它也不起作用。

用于路由器的其他选项:

const routerOptions: ExtraOptions = {
  useHash: false,
  anchorScrolling: 'enabled',
  scrollPositionRestoration: 'enabled',
  onSameUrlNavigation: 'reload'
};
Run Code Online (Sandbox Code Playgroud)

ps .: useHash:true不会改变。

ngOnInit中的viewportScroller:

this.viewportScroller.setOffset([0, 64]);
this.viewportScroller.setHistoryScrollRestoration('auto');

this.router.events.pipe(filter(element => element instanceof Scroll)).subscribe((element: any) => {
  console.log(element)
  this.viewportScroller.scrollToAnchor(element.anchor);
});
Run Code Online (Sandbox Code Playgroud)

没有滚动到片段的最简单方法是什么!!!使用这个:

ngOnInit() {
  this.route.fragment.subscribe((fragment: string) => { 
    if (fragment && document.getElementById(fragment) != null) {
      document.getElementById(fragment).scrollIntoView({ behavior: "smooth" });
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

b / c每次都能使用,但不是TS,因为我们在公司的项目中使用TS。

请帮帮我

scroll typescript angular-router angular-routerlink angular7

5
推荐指数
1
解决办法
3329
查看次数