【问题标题】:Angular 4 - On change component objectAngular 4 - 更改组件对象
【发布时间】:2017-10-10 09:06:47
【问题描述】:

我有一个带有一些下拉菜单的组件。每个下拉列表都由一个数组(通过休息服务加载)填充,有时这些数组可以更新。 当这些数组发生变化时,有没有办法调用函数? 比如一个变量的监听器,当它被重新分配时我会做一些事情。

谢谢 法布里奇奥

【问题讨论】:

  • 它们是如何准确更新的?我想你肯定是在调用其他服务来重新加载你的数据,是吗?
  • 如果您可以发布更新下拉列表数据的方式,我们或许可以提供帮助
  • 我正在调用其余服务并更新数组。该数组将填充下拉列表的“选项”字段this.gameService.getGameProviders().subscribe(data => { this.providers = this.emptyMapItem.concat(data.filter(value => value.filter === this.game.groupId)); }, error => console.error(error));

标签: angular select listener onchange dropdown


【解决方案1】:

如果下拉列表是单独的组件并且数组被传递给它们,您可以使用OnChangesngOnChanges 函数在指令的任何数据绑定属性发生更改时被调用。

@Component({selector: 'my-cmp', template: `...`})
class MyComponent implements OnChanges {
  @Input()
  prop: number;

  ngOnChanges(changes: SimpleChanges) {
    // changes.prop contains the old and the new value...
  }
}

没有与 AngularJs 的 $watch 等效的 Angular。

或者,您可以在调用 REST API 时在成功数据更新后调用所需的函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-20
    • 2018-03-15
    • 1970-01-01
    • 2019-06-06
    • 1970-01-01
    • 2018-03-12
    • 2018-11-07
    • 2017-09-23
    相关资源
    最近更新 更多