Передача динамич. c состояние [состояние] = "{hello: 'world'}" для распознавателя после извлечения требуемых данных, затем для компонента, состояние отображается в преобразователе, но не может отображать состояние в мой компонент не определен, как я могу отобразить состояние в моем компоненте после передачи его в распознаватель
ниже моего кода для передачи динамического состояния c через маршрутизацию
<a [routerLink]="['/article', row.slug ]" [state]="{ hello: 'world' }" class="preview-link">
<span>{{row.slug }}</span>
</a>
это состояние отображается в моем преобразователе, но при попытке доступа к нему через мой компонент оно не определено
My Resolver
import { Injectable, } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot, ActivatedRoute,
NavigationStart } from '@angular/router';
import { Observable } from 'rxjs';
import { catchError } from 'rxjs/operators';
import { Article } from '../../entities';
import { UserService } from './../../../../shared/shared-services/core';
import { ArticlesService } from '../../services';
import { filter, map } from 'rxjs/operators';
@Injectable()
export class ArticleResolver implements Resolve<Article> {
constructor(
private articlesService: ArticlesService,
private router: Router,
private userService: UserService
) {}
resolve(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Observable<any> {
// state printed successfully here
console.log(this.router.getCurrentNavigation().extras.state);
return this.articlesService.get(route.params['slug'])
.pipe(catchError((err) => this.router.navigateByUrl('/')));
}
}
Мой компонент
constructor(
private route: ActivatedRoute,
private articlesService: ArticlesService,
private commentsService: CommentsService,
private router: Router,
private userService: UserService,
public deviceService: DeviceDetectorService
) { }
ngOnInit() {
// Retreive the prefetched article
this.route.data.subscribe(
(data: { article: Article }) => {
this.article = data.article;
// Here i trying to display state but it's print undefined
console.log(this.router.getCurrentNavigation().extras.state);
}
);