首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角度6交互式对象递归列表

角度6交互式对象递归列表
EN

Stack Overflow用户
提问于 2018-08-18 18:29:27
回答 1查看 925关注 0票数 0

我试图在递归列表中显示用户的结构,可以显示其中任何一个用户的信息

到目前为止,我已经设法正确地显示了他们,但似乎不能使它能够显示任何其他的信息,最高的(无论我点击它总是显示有关管理的信息)

包含单个用户的getUsersID(数字)返回列表(在本例中,admin id 1是最高的用户)

用户模型的所有下属都存储在podrizeni: User[];中。

strom.ts:

代码语言:javascript
复制
import { Component, OnInit, Input } from '@angular/core';
import { UserService } from '../services/user.service';
import { User } from '../models/user';

@Component({
  selector: 'app-strom',
  templateUrl: './strom.component.html',
  styleUrls: ['./strom.component.css']
})
export class StromComponent implements OnInit {
  //@Input () users: User [];
  users: User[];
  user: User;
  selectedUser: User;
  constructor(
    private userService: UserService  
  ) { }

  ngOnInit() {
    this.getUsers().subscribe(users => {

      this.users = users;
      this.users.forEach(user => {
        console.log(user);
      });
    });
  }

  getUsers() {
   return this.userService.getUsersID(1)

  }
  onSelect(user: User): void {
    this.selectedUser = user;
  }
}

strom.html:

代码语言:javascript
复制
<ul>
  <ng-template #recursiveList let-users>

    <li *ngFor="let user of users" [class.selected]="user === selectedUser" (click)="onSelect(user)">
          {{user.username}}
          <ul *ngIf="user.podrizeni">
        <ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: user.podrizeni}"></ng-container>
      </ul>
    </li>
  </ng-template>
  <ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: users }"></ng-container>
</ul>

<div *ngIf="selectedUser">

  <h2>{{selectedUser.username | uppercase}} Details</h2>
  <div>
    <span>id: </span>{{selectedUser.id}}</div>
  <div>
    <label>name: {{selectedUser.username}}
    </label>
  </div>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-18 20:04:39

看看我为您创建的这个示例StackBlitz项目。如果这是你想要实现的东西,请告诉我。

您可以看到用户列表。一旦你点击了一个用户,它就会调用一个API来获取用户的帖子。在您的例子中,它将调用userService.getUsersID。对于您的情况,可以将userPosts看作是podrizeni

而且,为了简洁起见,我在AppComponent中做了所有事情。在你的例子中,它应该和你已经实现的一样。

另外,您应该为从属用户列表创建一个单独的组件。它应该接受一个userId。调用userService.getUsersID(userId)的责任应该是从属用户列表组件,而不是这个父用户列表组件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51911502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档