我是 Angular 的新手。我正在尝试在我的代码中使用解析器。我已经定义了使用解析器的路线。这是我的路线。
{
path: '',
component: AppComponent,
resolve: {
post: ResolverService
}
}
然后我创建一个解析器服务。
import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Post } from './post.data';
@Injectable({
providedIn: 'root'
})
export class ResolverService implements Resolve<any> {
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
const post = {
userId: 101,
id: 101,
title: "abc",
body: "xyz"
}
return post;
}
}
这个解析器没有返回我试图从我的组件访问的帖子数据。这是我的组件类代码。
export class AppComponent {
title = 'angular-resolver';
page = 1;
pageSize = 10;
posts;
constructor(private route: ActivatedRoute, private postService: PostService) {
this.route.data.subscribe(data => console.log(data));
}
}
这里 console.log 返回一个空数组。我认为它应该返回我在解析器类中指定的数据。非常需要一些帮助。谁能告诉我发生了什么?提前致谢。