Показать сообщение отдельно
  #1 (permalink)  
Старый 28.09.2017, 20:45
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

Angular 2+: Как получить результат колбека в компоненте?
Стандартная ситуация. У нас есть какой-то компонент, который при изменении внутри себя запрашивает данные с сервера и как-то обрабатывает их (в примере просто показывает прелоадер). В первом Ангуляре это делалось элементарно
<loader change="loadData()">

loadData возвращает промис, который ловит компонент лоадера и использует в своих целях.

В Ангуляр 2+ рекомендуют в @Output запихивать EventEmitter и плясать от этого. Разумеется, в таком случае никакой промис прочитать не удастся и приходится городить структуру с колбеками (loader-1 в примере)

Если делать как в первом Ангуляре (loader-2), то получается достаточно топорно, но могут возникнуть проблемы. В примере дочерний компонент не может засетить данные в родительский.

Как вы решаете подобную задачу?

Пример:http://plnkr.co/edit/tAUXaV26C9hCOQ0X89P5?p=preview
Ответить с цитированием