66 * found in the LICENSE file at https://angular.dev/license
77 */
88
9- import { Component , OnInit , inject } from '@angular/core' ;
9+ import { Component , OnInit , inject , signal } from '@angular/core' ;
1010import { ActivatedRoute , Router } from '@angular/router' ;
1111import { GuideItem , GuideItems } from '../../shared/guide-items/guide-items' ;
1212import { Footer } from '../../shared/footer/footer' ;
@@ -26,11 +26,11 @@ import {DocViewer} from '../../shared/doc-viewer/doc-viewer';
2626 } ,
2727} )
2828export class GuideViewer implements OnInit {
29- private _componentPageTitle = inject ( ComponentPageTitle ) ;
30- private _router = inject ( Router ) ;
29+ private readonly _componentPageTitle = inject ( ComponentPageTitle ) ;
30+ private readonly _router = inject ( Router ) ;
3131 guideItems = inject ( GuideItems ) ;
3232
33- guide : GuideItem | undefined ;
33+ guide = signal < GuideItem | undefined > ( undefined ) ;
3434
3535 constructor ( ) {
3636 const _route = inject ( ActivatedRoute ) ;
@@ -39,18 +39,18 @@ export class GuideViewer implements OnInit {
3939 _route . params . subscribe ( p => {
4040 const guideItem = guideItems . getItemById ( p [ 'id' ] ) ;
4141 if ( guideItem ) {
42- this . guide = guideItem ;
42+ this . guide . set ( guideItem ) ;
4343 }
4444
45- if ( ! this . guide ) {
45+ if ( ! this . guide ( ) ) {
4646 this . _router . navigate ( [ '/guides' ] ) ;
4747 }
4848 } ) ;
4949 }
5050
5151 ngOnInit ( ) : void {
52- if ( this . guide !== undefined ) {
53- this . _componentPageTitle . title = this . guide . name ;
52+ if ( this . guide ( ) !== undefined ) {
53+ this . _componentPageTitle . title = this . guide ( ) ! . name ;
5454 }
5555 }
5656}
0 commit comments