我有一个组件,显示 Ticket
的详细信息,并带有一个按钮,该按钮应该删除 Ticket
,然后路由到包含所有 Tickets
的表。我正在使用 Resolve
接口在路由到表之前获取 Ticket
数据。
现在,删除操作成功,但应用停留在没有数据的工单详情页面,也没有导航到工单表。
我可以在浏览器开发工具中看到工单表数据已加载,但应用没有导航到工单表。
我卡住了。有什么想法吗?
tickets-table-resolver.service.ts
import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
import { first } from 'rxjs/operators';
import { TicketService } from './ticket.service';
@Injectable({
providedIn: 'root',
})
export class TicketsTableResolverService implements Resolve<any> {
constructor(private ticketService: TicketService) {}
resolve() {
return this.ticketService.getTickets().pipe(first());
}
}
我试过在没有 this.ticketService.getTickets()
的情况下调用 pipe(first())
并且我试过调用 `pipe(take(1))
路线如下:
routes.ts
{
path: 'tickets',
component: TicketsTableComponent,
resolve: { tickets: TicketsTableResolverService },
},
这是我正在使用的删除功能:
ticket.service.ts
public delete(id: number): Observable<any> {
return this.http.delete(`${this.apiServerUrl}/${id}`);
}