Опция `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().

Другие вопросы по тегам