2017-10-10 134 views
0

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

感谢 法布里奇奥

+1

它们是如何精确更新的?我想你肯定会打电话给其他服务来重新加载你的数据,对吗? –

+0

如果您可以发布您更新下拉数据的方式,我们可以帮助 – CruelEngine

+0

我打电话给其余服务并更新数组。此数组将填充下拉列表的“选项”字段this.gameService.getGameProviders()。subscribe(data => {this.milkMapItem.concat(data.filter(value => value.filter == = this.game.groupId)); },error => console.error(error));' –

回答

0

如果下拉列表是单独的部件和数组传递给他们,你可以使用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等同的角。

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