Опция `scrollOffset` недоступна в новой функции `bootstrapApplication` Angular 17.
Я не могу добавить опцию в свою конфигурацию начальной загрузки Angular 17.
До Angular 17 у вас был модуль приложения, который импортировал модуль маршрутизации как таковой:
import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{
path: '',
component: HomeComponent,
},
];
@NgModule({
imports: [
RouterModule.forRoot(routes, {
initialNavigation: 'enabledBlocking',
scrollPositionRestoration: 'enabled',
anchorScrolling: 'enabled',
scrollOffset: [0, 100],
preloadingStrategy: PreloadAllModules,
}),
],
exports: [RouterModule]
})
export class AppRoutingModule { }
В Angular 17 вы теперь передаете объект конфигурации вbootstrapApplication
функцию, и я не могу найти способ добавитьscrollOffset
Конфигурация прежняя (см. выше):
// main.ts
import { bootstrapApplication } from '@angular/platform-browser';
import { appConfig } from './app/app.config';
import { AppComponent } from './app/app.component';
bootstrapApplication(AppComponent, appConfig)
.catch((err) => console.error(err));
// app.config.ts
import { ApplicationConfig } from '@angular/core';
import { withInMemoryScrolling } from '@angular/router';
import { routes } from './app.routes';
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(
routes,
withInMemoryScrolling({
scrollPositionRestoration: 'enabled',
anchorScrolling: 'enabled',
}),
// Where can I put my scrollOffset???
),
],
};
1 ответ
Это намеренно, чтоscrollOffset
как удалено при создании автономного API, поскольку этот параметр является дубликатом того, что уже доступно в ViewportScroller. Вместо этого позвони, тебе следует позвонитьViewportScroller.setOffset()
.