Attendere che Angular 2 carichi / risolva il modello prima di visualizzare la vista / modello

In 1.x angular, l’UI-Router era il mio strumento principale per questo. Restituendo una promise per i valori di “risoluzione”, il router aspetterebbe semplicemente che la promise venga completata prima di rendere le direttive.

In alternativa, in Angular 1.x, un object nullo non farà crashare un modello – quindi se non mi interessa un rendering temporaneamente incompleto, posso semplicemente usare $digest per renderizzare dopo che promise.then() popola un object modello inizialmente vuoto .

Dei due approcci, se ansible, preferirei aspettare per caricare la vista e cancellare la navigazione del percorso se la risorsa non può essere caricata. Questo mi salva il lavoro di “non-navigare”. MODIFICA: Nota questo significa in particolare che questa domanda richiede un metodo Angular 2 compatibile con i futures o best practice per farlo e chiede di evitare l’operatore “Elvis” se ansible! Quindi, non ho selezionato quella risposta.

Tuttavia, nessuno di questi due metodi funziona in Angular 2.0. Sicuramente esiste una soluzione standard pianificata o disponibile per questo. Qualcuno sa di cosa si tratta?

 @Component() { template: '{{cats.captchans.funniest}}' } export class CatsComponent { public cats: CatsModel; ngOnInit () { this._http.get('/api/v1/cats').subscribe(response => cats = response.json()); } } 

La seguente domanda può riflettere lo stesso problema: modello di rendering Angular 2 dopo PROMISE con i dati caricati . Nota che la domanda non ha codice o risposta accettata in esso.