这个问题通常是由于在使用viewportScroller时,没有正确的配置RouterModule或没有正确的导入BrowserAnimationsModule所导致的。以下是一个正确的使用viewportScroller的示例代码:
import { NgModule } from '@angular/core';
import { RouterModule, Routes, Scroll } from '@angular/router';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
imports: [
RouterModule.forRoot(routes, {
scrollPositionRestoration: 'enabled',
anchorScrolling: 'enabled',
scrollOffset: [0, 64], // header height
onSameUrlNavigation: 'reload', // for testing purposes
scrollRestoration: 'enabled'
}),
BrowserAnimationsModule
],
exports: [RouterModule]
})
export class AppRoutingModule {}
这里,我们配置RouterModule和BrowserAnimationsModule以支持viewportScroller。scrollPositionRestoration,anchorScrolling和scrollOffset属性确保router能够正确地滚动到所需的位置。如果您遵循这些步骤仍然遇到问题,您可以尝试使用其他的scroll positioning methods来代替viewportScroller。