首页 文章

通过id从firestore的集合中检索文档

提问于
浏览
0

我有一系列活动,其中有多个文件 . 我想在点击按钮上检索特定文档 .

Collection :活动

Document id :自动识别

Fields :activityid,locked,section,maxPlayers,name

在这里,我正在检索整个集合

this.activities = afs.collection('activities', x => x.orderBy('section', 
'asc')).valueChanges();

我将这些收藏品展示在表中;

<tr *ngFor="let activity of activities | async  | paginate: { itemsPerPage: 10, currentPage: p }; let i =index">
    <td>
        {{activity.section}}
    </td>
    <td >
        {{activity.name}}
    </td>
    <td>
        {{activity.maxPlayers}}
    </td>
    <td>
        {{activity.locked}}
    </td>
    <td>
        <button type="button" class="btn btn-success" 
            (click)="onEdit(activity.id);  secondModal.show() "><i 
            class="fa fa-pencil"></i>
                       Edit
        </button>
</td>

我在OnEdit()函数上传递了一个id参数 . 在OnEdit函数中,我想通过id检索选择性文档 . 并将模型中的文档字段显示为:

<div *ngFor="let activity of activities | async >
    {{activity.section}}        
    {{activity.name}}                    
    {{activity.maxPlayers}}                    
    {{activity.locked}}

我试过这么多想但是不行 . 它始终显示所有文档 . 我想只检索按钮单击的文档 .

1 回答

  • 0

    Edit :activities.component.html 文件中:

    <td>
        <button type="button" class="btn btn-success" 
          (click)="onEdit(activity);  secondModal.show()"><i 
          class="fa fa-pencil"></i>
            Edit
         </button>
      </td>
    

    并在 activities.component.ts 文件中:

    onEdit(activity){ 
      this.afs.doc("activities/"+activity.id).valueChanges();
      this.activity = activity;
      ..... your code
    }
    

    您必须在 activities.component.ts 文件中声明 activity 变量,就像使用 activities 变量一样,并且您可以在模态模板中使用它而不是不需要 *ngFor 指令的活动 .

相关问题