【问题标题】:I receive this error "TypeError: Cannot read property 'pagination' of undefined"我收到此错误“TypeError:无法读取未定义的属性'分页'”
【发布时间】:2019-05-17 13:00:19
【问题描述】:

Here is my object from console 我的模板中有这个分页代码:

<ul class="pagination-custom text-right">
  <li class="pag-link"><a (click)="onClick(customers.meta.pagination.current_page - 1)"><i class="fa fa-angle-double-left"></i></a></li>
  <li class="pag-link" *ngFor="let item of createRange(customers.meta.pagination.total_pages); let i = index">
    <a (click)="onClick(i + 1)">{{i + 1}}</a></li>
  <li class="pag-link"><a (click)="onClick(customers.meta.pagination.current_page + 1)"><i class="fa fa-angle-double-right"></i></a></li>
</ul>

这是我的函数 onClick()

  onClick(number) {
    this.CustomersData.page(number).subscribe(
      r => {this.customers  = r;
      });
  }

这里是page()

  page(number) {
    return this.http.get('http://127.0.0.1:8000/api/customers?page=' + (number), {headers: new HttpHeaders().set('Authorization',
        this.token.t)});
  }

问题是该函数工作正常,但我收到此错误:“TypeError:无法从一开始就在我的控制台中读取未定义的属性'分页'”

【问题讨论】:

  • 您的客户对象是什么样子的?它是否有meta 键...还要检查您是否得到this.customers 未定义..console.log 来检查它!
  • 如果你只是想避免这个错误,你可以将 *ngIf 条件放在customers.meta 的列表中。虽然最好检查组件中的值是否相同。
  • 是的,我有 meta 我用对象在我的问题中发布了一张图片
  • 如果我写在我的 ts 中,console.log(this.customers.meta) 会在 src/app/customers/customers.component.ts(26,20) 中显示同样的问题:错误 TS2339:“对象”类型上不存在属性“元”。”

标签: angular


【解决方案1】:

您可以在访问密钥之前放置一个ternary 运算符。

<ul class="pagination-custom text-right">
  <li class="pag-link"><a (click)="onClick(customers?.meta?.pagination?.current_page - 1)"><i class="fa fa-angle-double-left"></i></a></li>
  <li class="pag-link" *ngFor="let item of createRange(customers.meta.pagination.total_pages); let i = index">
    <a (click)="onClick(i + 1)">{{i + 1}}</a></li>
  <li class="pag-link"><a (click)="onClick(customers.meta.pagination.current_page + 1)"><i class="fa fa-angle-double-right"></i></a></li>
</ul>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2021-07-06
    • 2021-06-02
    • 2022-12-24
    相关资源
    最近更新 更多