0

Here is my code :

@Component({
  template: `
    resolveData: {{resolveA}} <br>
    data : {{ dataA }}
  `,
})
class MyComponent {
  @Input() resolveA?: string;
  @Input() dataA?: string;
}

@Component({
  selector: 'my-app',
  standalone: true,
  imports: [CommonModule, RouterModule],
  template: `
    <h1>Hello from {{name}}!</h1>

    <router-outlet></router-outlet>
  `,
})
export class App {
  name = 'Angular';
}

bootstrapApplication(App, {
  providers: [
    provideRouter(
      [
        {
          path: '**',
          component: MyComponent,
          data: { dataA: 'My static data' },
          resolve: { resolveA: () => 'My resolved data' },
        },
      ],
    ),
  ],
});

MyComponent should display both the static and the resolved data.

Any idea why ?

Matthieu Riegler
  • 31,918
  • 20
  • 95
  • 134

1 Answers1

1

Okay I was missing withComponentInputBinding() as second param of provideRouter

As following

provideRouter(
  [
    {
      path: '**',
      component: MyComponent,
      data: { dataA: 'My static data' },
      resolve: { resolveA: () => 'My resolved data' },
    },
  ],
  withComponentInputBinding()
),
Matthieu Riegler
  • 31,918
  • 20
  • 95
  • 134