我正在为医生创建MEAN Stack应用程序,在MongoDB中,我有不同的集合(用户和患者)-请查看所附图像,以更好地了解它的外观。
我创建了该功能,每个用户都可以使用其电子邮件地址和密码登录和注销,登录后,他只能看到,编辑和删除他添加的患者,而不能看到其他患者(来自其他医生)。
当医生添加新患者时,在MongoDB中,该患者使用医生ID保存(请参见下图),因此当该用户登录时,我会循环浏览患者并仅显示该医生的患者
当登录的用户没有任何患者或删除其以前的患者时,我想显示消息“ Niste dodali pacijente ...”(您还没有患者...)时遇到问题...
我尝试过:
<p class="text-center" *ngIf="patient.length == 0 || userIsAuthenticated && (userId === patient.doctor) == 0">Niste dodali pacijente...</p>
当4号医生登录时,他会收到此消息(他的患者以及以前的医生没有患者的消息)
其他医生的情况相同(例如3号医生)
请帮助我解决此问题,实际上,我希望显示“ Niste dodali pacijente”消息,即使该医生删除了所有患者或他尚未添加患者。谢谢
<div class="container">
<div class="row">
<div class="col-12" *ngFor="let patient of patients">
<!-- Patient accordion -->
<accordion [closeOthers]="onePatientAtTime" ngIf="userIsAuthenticated && userId === patient.doctor">
...
</accordion>
<p class="text-center" *ngIf="patient.length == 0 || userIsAuthenticated && (userId === patient.doctor) == 0">Niste dodali pacijente...</p>
</div>
</div>
答案 0 :(得分:0)
你好伴侣,因为要遍历患者列表,您可能应该使用布尔变量来触发这种情况。
<div class="container">
<div class="row">
<div *ngIf="shouldNoPatientsShow" class="col-12" *ngFor="let patient of patients">
<!-- Patient accordion -->
<accordion [closeOthers]="onePatientAtTime" ngIf="userIsAuthenticated && userId === patient.doctor">
...
</accordion>
</div>
<p class="text-center" *ngIf="shouldNoPatientsShow || userIsAuthenticated && (userId === patient.doctor) == 0">Niste dodali pacijente...</p>
</div>
在ts文件中,如果患者数组为0,则将变量ShouldNoPatient显示为true
答案 1 :(得分:0)
谢谢大家的帮助,我改变了逻辑,现在所有患者都可以看到任何医生,但是只有添加了患者的医生才能编辑和/或删除该患者...
<div class="container">
<div class="row">
<div class="col-12">
<!-- Patient accordion -->
<accordion [closeOthers]="onePatientAtTime" *ngIf="patients.length > 0">
<accordion-group #group class="mb-3" *ngFor="let patient of patients">
...
<div class="edit-form-buttons text-right" *ngIf="userIsAuthenticated && userId === patient.doctor">
<button type="button" class="btn btn-info mr-2" [routerLink]="['/izmjena-pacijenta', patient.id]">Izmijeni</button>
<button type="button" class="btn btn-danger" (click)="onDelete(patient.id)">Izbriši</button>
</div>
</accordion-group>
</accordion>
<p class="text-center" *ngIf="patients.length <= 0">Niste dodali pacijente...</p>
</div>
</div>