2017-01-02 3 views
1

У меня есть приложение ng2, в котором контент выводится асинхронно из внутренней системы для ввода в различные компоненты на основе материалов. В одном случае я пытаюсь создать несколько карусельных представлений из этого контента.Как наблюдать, когда обновление обновления было завершено в зависимости от изменения модели в Angular 2

Например мой апи отвечает что-то вроде:

{ 
categories : [ 
    {name: "sports", content : [{id: 1, title: "some text", description: "more text"}] 
] 
} 

Я буду создавать несколько каруселей, по одному для каждой категории, используемой http://materializecss.com/carousel.html, ничего сумасшедшего.

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

Какое событие сообщит мне, когда данные моего асинхронного запроса были отправлены в дом?

Благодаря

+0

См. Также http://stackoverflow.com/questions/40938422/angular-2-calling-jquery-after-rendering-elements-after-consuming-api – yurzui

ответ

2

Я думаю, вы должны смотреть вверх Angular LifeCycle Hooks.

ngOnChanges() {} Это может быть полезно, если данные связываются с компонентом (смотрите @Input)

На JSON полученных EventEmitter() может быть использование в emit за $ событие, а затем подписаться на него в компоненте

1

Попробуйте использовать lifecycleEvent "AfterViewChecked"

export class whateverClass implements AfterViewChecked{ 
ngAfterViewChecked() { 
//logic goes here 
} 
} 
Смежные вопросы