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}}