diff --git a/apps/angular/21-anchor-navigation/src/app/app.config.ts b/apps/angular/21-anchor-navigation/src/app/app.config.ts
index 66ab7f73f..d4e2a947f 100644
--- a/apps/angular/21-anchor-navigation/src/app/app.config.ts
+++ b/apps/angular/21-anchor-navigation/src/app/app.config.ts
@@ -1,6 +1,15 @@
import { ApplicationConfig } from '@angular/core';
-import { provideRouter } from '@angular/router';
+import { provideRouter, withInMemoryScrolling } from '@angular/router';
import { appRoutes } from './app.routes';
+
export const appConfig: ApplicationConfig = {
- providers: [provideRouter(appRoutes)],
+ providers: [
+ provideRouter(
+ appRoutes,
+ withInMemoryScrolling({
+ anchorScrolling: 'enabled',
+ scrollPositionRestoration: 'enabled',
+ }),
+ ),
+ ],
};
diff --git a/apps/angular/21-anchor-navigation/src/app/foo.component.ts b/apps/angular/21-anchor-navigation/src/app/foo.component.ts
index 6744c3662..51978dbae 100644
--- a/apps/angular/21-anchor-navigation/src/app/foo.component.ts
+++ b/apps/angular/21-anchor-navigation/src/app/foo.component.ts
@@ -1,13 +1,20 @@
import { Component } from '@angular/core';
+import { MatNavList } from '@angular/material/list';
+import { RouterLink } from '@angular/router';
import { NavButtonComponent } from './nav-button.component';
@Component({
- imports: [NavButtonComponent],
+ imports: [NavButtonComponent, RouterLink, MatNavList],
selector: 'app-foo',
template: `
- Welcome to foo page
- Home Page
-
section 1
+
+
+ Welcome to foo page
+
+ Home Page
+
+
+
section 2
`,
})
diff --git a/apps/angular/21-anchor-navigation/src/app/home.component.ts b/apps/angular/21-anchor-navigation/src/app/home.component.ts
index 6ef9bc2b6..54aa29ef0 100644
--- a/apps/angular/21-anchor-navigation/src/app/home.component.ts
+++ b/apps/angular/21-anchor-navigation/src/app/home.component.ts
@@ -1,18 +1,32 @@
import { Component } from '@angular/core';
+import { MatNavList } from '@angular/material/list';
+import { RouterLink } from '@angular/router';
import { NavButtonComponent } from './nav-button.component';
@Component({
- imports: [NavButtonComponent],
+ imports: [NavButtonComponent, RouterLink, MatNavList, NavButtonComponent],
selector: 'app-home',
template: `
- Foo Page
- Empty
-
Scroll Bottom
+
+ Welcome to home page
+
+ Foo Page
+
+
+
+
+
I want to scroll each
-
Scroll Top
+
+ Scroll Top
+
`,
})
diff --git a/apps/angular/21-anchor-navigation/src/app/nav-button.component.ts b/apps/angular/21-anchor-navigation/src/app/nav-button.component.ts
index 7a22c7f38..be240c5ce 100644
--- a/apps/angular/21-anchor-navigation/src/app/nav-button.component.ts
+++ b/apps/angular/21-anchor-navigation/src/app/nav-button.component.ts
@@ -1,17 +1,19 @@
-/* eslint-disable @angular-eslint/component-selector */
import { Component, input } from '@angular/core';
+import { RouterLink } from '@angular/router';
@Component({
- selector: 'nav-button',
+ selector: 'app-nav-button',
template: `
-
+
`,
host: {
class: 'block w-fit border border-red-500 rounded-md p-4 m-2',
},
+ imports: [RouterLink],
})
export class NavButtonComponent {
- href = input('');
+ routerLink = input('');
+ fragment = input(null);
}
diff --git a/apps/angular/21-anchor-navigation/src/styles.scss b/apps/angular/21-anchor-navigation/src/styles.scss
index 77e408aa8..007838499 100644
--- a/apps/angular/21-anchor-navigation/src/styles.scss
+++ b/apps/angular/21-anchor-navigation/src/styles.scss
@@ -2,4 +2,4 @@
@tailwind components;
@tailwind utilities;
-/* You can add global styles to this file, and also import other style files */
+html { scroll-behavior: smooth; }