2017-01-12 5 views
0

У меня есть модальный, чтобы добавить новый проект (компонент addProjectModal)Refresh компонента после HTTP Post

save(data:Project) { 
    data.customer_id = this.customerID; 
    data.supervisor_id = 450; 
    this._projectService.addProject(data) 
    .subscribe(res => console.log(res)); //maybe init the refresh here 
} 

Этот компонент используется в projectComponent где хранятся данные проекта

ngOnInit() { 
    this.collapsedItem = -1; 
    this._projectService.getProjects(this.customerID) 
    .subscribe(data => { 
     this.projects = data 
    }); 
} 

Как бы вы указать родительский компонент для обновления (запросить новые данные из базы данных)?

ответ

2

скажу использовать

@output()

для этого ...

Так HTML код будет выглядеть следующим образом:

<parentComponent> 
    <childComponent tellParent="parentFunction()"></childComponent> 
</parentComponent> 
+0

Спасибо! Может быть, лучше использовать общий сервис (singleton)? Можно ли заполнить массив общих проектов (pout of database) в службе проекта, прежде чем вводить эту услугу? – robert

+0

использование общего сервиса - хорошая идея, но если у вас нет какой-либо пользы в дочернем компоненте, так что хотите добавить ссылку на службу в дочерний компонент и все, но да, может быть, это еще один вариант. –

+0

Я пользуюсь службой в обоих компонентах ... но еще не как singleton – robert