Angular 角度:使用解析器在嵌套对象上迭代
我的管理模块有以下解析器服务:Angular 角度:使用解析器在嵌套对象上迭代,angular,render,resolver,Angular,Render,Resolver,我的管理模块有以下解析器服务: constructor(private userservice: UserService) { } resolve( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): Observable<any> { return this.userservice.getUserById(route.paramMap.get('id')); } } 管理路
constructor(private userservice: UserService) { }
resolve(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Observable<any> {
return this.userservice.getUserById(route.paramMap.get('id'));
}
}
管理路线
const routes: Routes = [
{path:'', component:AdminComponent},
{
path:'user/:id',
component:AdminDetailComponent,
resolve: {
adminUser: UserResolverService
}
}
];
HTML
<div class="container">
<div class="row">
<div class="col-md-12" *ngFor="let u of user">
{{u.username}}
</div>
</div>
</div>
我已经尝试了所有我能记住的,但我不能得到一个用于渲染数据的循环。有人能帮我分类吗?在你的初始化中,你只需要这个
this.user = data;
在ngFor中,您需要正确访问属性
{{u.adminUser.username}}
你有什么错误或错误?什么都没有,数据没有出现。如果我不把数据转换成数组,我就无法得到迭代数据的原始结构是什么。。。根据你的帖子,它看起来已经是一个数组了……但是我需要这个:`this.user=array.of(data)`你需要这个真奇怪。我需要知道数据的原始结构,以及为什么您试图将其强制到数组中,而不是仅将其作为属性访问。如果我不将其转换为数组,我会得到一个错误听起来像是一个对象,但您强制它到数组中以使用ngFor,而这根本不需要。您只需将对象设置为user并访问
{{user.adminUser.username}
,然后将其包装在*ngIf=“user”
中以避免错误。当您只想访问模板中的对象属性时,将内容强制放入数组并没有多大意义。
this.user = data;
{{u.adminUser.username}}