我想基于日期选择器启用/禁用按钮,我有一个像这样的检查设置:
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) 在过去的两天中,我一直在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