【问题标题】:Angular data binding角度数据绑定
【发布时间】:2019-03-31 17:46:22
【问题描述】:

在以下代码中,如何在调用addOrderItem() 后使orderItems 自动刷新?目前需要再次调用this.service.getOrderItems()手动刷新。

export class OrderComponent implements OnInit {
    orderItems: OrderItem[];
    ...
    ngOnInit() {
        ...
        this.orderItems = this.service.getOrderItems();
    }
    addOrderItem(): void {
        this.service.addOrderItem();
    }
}

【问题讨论】:

  • 将项目添加到数据绑定数组应该已经自动刷新,您无需执行任何操作
  • @pixelbits 订单项数组由服务返回,我认为它是原始数组的深层副本。当我调用服务向原始数组添加内容时,此深层副本不会刷新,但原始数组会刷新。
  • 啊,我知道它们是不同的数组。

标签: angular typescript


【解决方案1】:

您封装了 addOrderItem() 服务方法,因此您可以在此封装中调用 getOrderItems,这样每次添加 OrderItem 时都会刷新:

addOrderItem(): void {
  this.service.addOrderItem();
  this.orderItems = this.service.getOrderItems();
}

您还可以在每次调用addOrderItem() 时从您的服务中subscribe to an event 调用一个函数。

【讨论】:

    猜你喜欢
    • 2019-02-26
    • 2020-09-21
    • 1970-01-01
    • 2019-01-10
    • 2017-10-18
    • 2016-09-24
    • 2015-09-05
    • 2015-08-02
    • 2017-12-25
    相关资源
    最近更新 更多