Каков правильный способ получения данных async до того, как Page
получит визуализацию?
Angular2
предлагает декор @CanActivate
, насколько я понимаю. К сожалению, это не работает с Ionic2, по крайней мере, не для меня и для других
По-видимому, Ionic2
делает что-то с декоратором @CanActivate
, см.
Но он не документирован, и я не могу понять, что именно он делает.
Тем не менее этот парень указывает, что следует использовать Ionics View States
, в любом случае, из-за кеширования ионов. Его пример выглядит следующим образом:
onPageWillEnter() {
return this._service.getComments().then(data => this.comments = data);
}
Похоже, он ожидает, что Ионн рассмотрит возвращенное обещание, но быстрый взгляд источники Ionics показывают (по крайней мере, я так думаю) что возвращаемое значение игнорируется. Следовательно, нет гарантии, что обещание будет устранено до того, как страница будет отображена. Вот пример с onPage * и как он не выполняется по мере необходимости/ожидаемого.
Итак, я потерялся, как достичь этой простой задачи?
В первой ссылке было предложено разрешить данные перед тем, как перейти на страницу, что обременяет знание, какие данные необходимы для страницы на вызываемом абоненте. На мой взгляд, это не вариант.
* edit: добавлен отрицательный пример