2017-10-10 199 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時調用成功數據更新後的所需函數。