Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 显示具有条件的特定元素的编辑表单,而不是所有元素的编辑表单_Angular_Angular Ng If - Fatal编程技术网

Angular 显示具有条件的特定元素的编辑表单,而不是所有元素的编辑表单

Angular 显示具有条件的特定元素的编辑表单,而不是所有元素的编辑表单,angular,angular-ng-if,Angular,Angular Ng If,我有一个项目列表,每个项目列表都有一个编辑表单 <div *ngFor="let task of fridayEvents;let i = index" class="col-sm-4"> <div class="event-holder"> <div class="event--image_background" [style.backgroundImage]="'url(' + task?.imageSour

我有一个项目列表,每个项目列表都有一个编辑表单

         <div *ngFor="let task of fridayEvents;let i = index" class="col-sm-4">
        <div class="event-holder">
          <div class="event--image_background" [style.backgroundImage]="'url(' + task?.imageSource + ')'"></div>

          <div *ngIf="!editmode">
            <span> {{ task?.eventName }} </span>
            <span> {{ task?.eventAddress }} </span>
            <span> {{ task?.startHour}} </span>
            <span> {{ task?.endHour}} </span>
            <span> {{ task?.eventDescription }}</span>
          </div>

          <div *ngIf="editmode" class="edit--form">
            <mat-form-field>
              <input #editEventName matInput type="text" name="edit_eventName" value="{{ task?.eventName }}">
            </mat-form-field>

            <mat-form-field>
              <input #editEventAddress matInput type="text" name="edit_eventAddress" value="{{ task?.eventAddress }}">
            </mat-form-field>

            <mat-form-field>
              <input #editEventStartHour matInput type="number" value="{{ task?.startHour }}">
            </mat-form-field>

            <mat-form-field>
              <input #editEventEndHour matInput type="number" value="{{ task?.endHour }}">
            </mat-form-field>

            <mat-form-field>
              <textarea #editEventDescription matInput value="{{ task?.eventDescription }}" name="" rows="10"></textarea>
            </mat-form-field>

            <button type="button" (click)="submitEdit($event, i , editEventName , editEventAddress, editEventStartHour, editEventEndHour, editEventDescription)">Save</button>
          </div>

          <button type="button" (click)="turnOnEditMode($event, i)">Edit</button>
        </div>
      </div>

{{task?.eventName}
{{task?.eventAddress}
{{task?.startHour}}
{{task?.endHour}}
{{task?.eventDescription}}
拯救
编辑

假设我的“FridayeEvents”是10个对象的列表。因此,我有10列,当单击
Edit
按钮时,设置
editmode=false
,但是editform对于所有对象都是活动的,而不仅仅是特定对象。有没有办法只为特定元素打开
editmode
,或者我可以创建一个编辑表单,将其放在
标记的末尾,然后在fridayEvents.object.id中获取输入值等的值

每个任务需要一个标志(如果要编辑多个项目),或者需要一个editedTask字段(如果一次只需要编辑一个任务)。我希望一次编辑一个任务,因为每个任务都有自己的编辑表单。我正在使用firebase,因此在编辑时,获取对象id,然后根据事件id进行.update()更新:)因此,不要使用布尔editedMode,而是使用Task editedTask:
*ngIf=“Task===editedTask”
我已经像这样做了*ngIf=“task.editmode”,然后单击函数fridayevents[index]。editmode=true;然后单击几个任务,您将同时拥有几个已编辑的任务。。。顺便说一句,为什么只使用
fridayevents[index]
而不使用
task