使用角11.2.14:我有一个对象,其对象数组属性为"Ticket_Notes“,用于填充PrimeNG Timeline对象,没有什么特别之处:
<p-timeline [value]="ticket.Ticket_Notes" align="alternate">
<ng-template pTemplate="marker" let-note >
<span class="custom-marker shadow-2" >
<img *ngIf="note.Created_ByNavigation?.Photo" alt="Person Photo" class="Photo" style="height:50px;" [src]="note.Created_ByNavigation?.Photo"/>
</span>
</ng-template>
<ng-template pTemplate="content" let-note>
<p-card [header]="note.Created_ByNavigation?.DisplayName" [subheader]="note.Creation_Date | date: 'medium'" >
<div class="contentStack">
<div *ngIf="note.Resolved_Ticket"><i class="fas fa-check fa-lg ok"></i> Ticket Resolved</div>
<div *ngIf="note.editComment">
<p-editor [(ngModel)]="note.Note_Data" [style]="{'height':'125px'}"></p-editor>
</div>
<div [ngClass]="{'resolvedTicket': note.Resolved_Ticket}">
<div *ngIf="!note.editComment" [innerHTML]="note.Note_Data"></div>
</div>
</div>
</p-card>
</ng-template>
</p-timeline>我的问题是,如果将一个新对象推到数组中(在某人添加注释之后),它将不会显示,除非我用:
this.ticket = JSON.parse(JSON.stringify(this.ticket)) // cheat to get it to reload/refresh view那就看上去很好了。这似乎是一次糟糕的黑客攻击。是否有更好的/最佳做法使页面使用添加的项刷新视图?
发布于 2022-08-15 18:11:06
您可以通过以下方式更改引用: this.ticket = ...this.ticket;
这应该会触发重呈现。
https://stackoverflow.com/questions/73364059
复制相似问题