[英]typescript observable subscription undefined
我發出一個 http 請求以獲取一些我試圖在以下內容中顯示的數據:
我有一個下拉選擇來顯示entriesPerPage
和一個左右光標來在我的分頁中切換page
。 這有效,但是當我切換頁面時,它總是顯示
無法讀取未定義的屬性“頁面”
除此之外,我根本無法顯示totalEntries
或totalPages
,它們似乎也不適用於數據綁定。
組件.ts
public getArticles(): void {
this.articleService.getAllArticlesWithPagination(this.paginationResponse.pagination)
.subscribe((data) => {
this.dataSource.data = data.data;
this.paginationResponse.pagination.page = data.pagination.page;
this.paginationResponse.pagination.entriesPerPage = data.pagination.entriesPerPage;
this.paginationResponse.pagination.totalEntries = data.pagination.totalEntries;
this.paginationResponse.pagination.totalPages = data.pagination.totalPages;
});
console.log(this.paginationResponse); // added for this question after comments
}
分頁響應
export class PaginationResponse<T> {
public data: T[];
public pagination: Pagination;
constructor() {
this.pagination = new Pagination();
}
}
分頁.ts
export class Pagination {
public static readonly DEFAULT_SIZE = 5;
public static readonly FIRST_PAGE = 0;
public static readonly DEFAULT_TOTAL = 3;
public static readonly DEFAULT_ENTRIES = 10;
public page: number;
public entriesPerPage: number;
public totalPages: number;
public totalEntries: number;
constructor() {
this.page = Pagination.FIRST_PAGE;
this.entriesPerPage = Pagination.DEFAULT_SIZE;
this.totalEntries = Pagination.DEFAULT_ENTRIES;
this.totalPages = Pagination.DEFAULT_TOTAL;
}
}
console.log(this.paginationResponse)
編輯:所以paginationResponse.pagination
似乎從來沒有真正填充過 data 的data
。 有趣的是,除了data[]
之外, data
單獨顯示了分頁的字段(totalPages、totalEntries、page、entriesPerPage),但data.pagination
僅顯示在 Pagination.ts 的構造函數中定義的那些(上面data.pagination
代碼)。 我不明白為什么它不向它添加分頁。
解決方案:我希望PaginationResponse
的返回包裝我的Pagination
對象。 我從中刪除了pagination
,而是將 4 個字段放入其中。 因此,盡管答案很短,但似乎是正確的。
從我看到的data.pagination
是未定義的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.