6
6
* found in the LICENSE file at https://angular.dev/license
7
7
*/
8
8
9
- import { Component , OnInit , inject } from '@angular/core' ;
9
+ import { Component , OnInit , inject , signal } from '@angular/core' ;
10
10
import { ActivatedRoute , Router } from '@angular/router' ;
11
11
import { GuideItem , GuideItems } from '../../shared/guide-items/guide-items' ;
12
12
import { Footer } from '../../shared/footer/footer' ;
@@ -26,11 +26,11 @@ import {DocViewer} from '../../shared/doc-viewer/doc-viewer';
26
26
} ,
27
27
} )
28
28
export 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 ) ;
31
31
guideItems = inject ( GuideItems ) ;
32
32
33
- guide : GuideItem | undefined ;
33
+ guide = signal < GuideItem | undefined > ( undefined ) ;
34
34
35
35
constructor ( ) {
36
36
const _route = inject ( ActivatedRoute ) ;
@@ -39,18 +39,18 @@ export class GuideViewer implements OnInit {
39
39
_route . params . subscribe ( p => {
40
40
const guideItem = guideItems . getItemById ( p [ 'id' ] ) ;
41
41
if ( guideItem ) {
42
- this . guide = guideItem ;
42
+ this . guide . set ( guideItem ) ;
43
43
}
44
44
45
- if ( ! this . guide ) {
45
+ if ( ! this . guide ( ) ) {
46
46
this . _router . navigate ( [ '/guides' ] ) ;
47
47
}
48
48
} ) ;
49
49
}
50
50
51
51
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 ;
54
54
}
55
55
}
56
56
}
0 commit comments