1- import { Component , inject , input } from '@angular/core' ;
1+ import { Component , computed , inject , input } from '@angular/core' ;
22import { toSignal } from '@angular/core/rxjs-interop' ;
33import { RouterLink , RouterLinkActive } from '@angular/router' ;
44import { FakeServiceService } from './fake.service' ;
@@ -38,11 +38,7 @@ export class NavigationComponent {
3838@Component ( {
3939 imports : [ NavigationComponent ] ,
4040 template : `
41- @if (info() !== null) {
42- <app-nav [menus]="getMenu(info()!)" />
43- } @else {
44- <app-nav [menus]="getMenu('')" />
45- }
41+ <app-nav [menus]="menus()" />
4642 ` ,
4743 host : { } ,
4844} )
@@ -53,10 +49,8 @@ export class MainNavigationComponent {
5349 initialValue : null ,
5450 } ) ;
5551
56- getMenu ( prop : string ) {
57- return [
58- { path : '/foo' , name : `Foo ${ prop } ` } ,
59- { path : '/bar' , name : `Bar ${ prop } ` } ,
60- ] ;
61- }
52+ readonly menus = computed < MenuItem [ ] > ( ( ) => [
53+ { path : '/foo' , name : `Foo ${ this . info ( ) } ` } ,
54+ { path : '/bar' , name : `Bar ${ this . info ( ) } ` } ,
55+ ] ) ;
6256}
0 commit comments