RouterModule
锚定滚动基于视口可滚动区域,因为mat-sidenav-container
与fullscreen
属性一起使用时将自己设置为100%高度,因此{{1 }}进行更改。
RouterModule
在上面的示例中,所有可滚动内容都位于mat-sidenav-content
内部。
<mat-sidenav-container fullscreen>
<mat-sidenav-content></mat-sidenav-content>
</mat-sidenav-content>
是否可以使用RouterModule
而不是视口作为滚动容器引用?
请参见StackBlitz Example。 参见working version without fullscreen。
答案 0 :(得分:0)
是否有针对此的mat-sidenav-content解决方案? 作为一种解决方法,我正在订阅路由器事件并查看Scroll.anchor, 然后按照 Using anchor link #id in Angular 6 我可以影响子视图上的平滑滚动...
例如。
在html中:
<a routerLink="/menu" fragment="pizza">Pizza</a>
...
<div #pizza>...</div>
在组件中:
@ViewChild( 'pizza' ) pizza: ElementRef
this.router.events.subscribe( (e:RouterEvent) => {
if ( e instanceof Scroll ) {
if ( e.anchor ==== 'pizza' ) {
this.pizza.nativeElement.scrollIntoView( ... );
}
}
} );
答案 1 :(得分:0)
我遇到了完全相同的问题。 我是通过以下方式解决的:
df = df.join(pd.DataFrame(df["Number"].astype(str).str.findall("..").values.tolist()).add_prefix('DIV')).fillna("00")
RouterModule.forRoot(
routes,
{
anchorScrolling: 'enabled',
scrollOffset: [0, 64 + 16]
}),
其他改进: