2016-04-29 16 views
8

Ho un elenco di elementi in un ciclo ngFor. Quando aggiorno la pagina, vengono caricati solo i primi dati di elementi. Quando faccio clic su un elemento vuoto, i dati vengono immediatamente visualizzati. Questo accade solo se visualizzato in Safari. Come posso caricare Safari per caricare tutti i contenuti?Angular2 ngPer i contenuti non riprodotti su Safari

enter image description here

<article *ngFor="let item of list; let i = index"> 
    <section class="item__content"> 
     <h3 class="item__name"> 
     <a href="#">{{item.name}}</a> 
     </h3> 
     <p> 
     {{item.description}} 
     </p> 
    </section> 
</article> 

dati provengono da un API che serve JSON.

+2

Suoni come https://github.com/angular/angular/issues/6889 –

+0

Potrebbe essere un problema di zona. Mostra come vengono recuperati i tuoi dati. – Blackus

+0

Ultimamente è successo ad Angular2, prova ad aggiornare fino all'ultimo rc e cambia anche il tuo * ngFor = "# elemento della lista; #i = indice" a * ngFor = "lascia la voce della lista; lascia che i = indice". Il problema potrebbe essere stato risolto per te già. – jornare

risposta

2

Dopo un sacco di tentativi ed errori il mio problema era un pipe di data che mancava un formato specifico.

<time>{{topic.lastPostAt|date}}</time> 

La modifica a questa risolto per me:

<time>{{topic.lastPostAt|date:"MM/dd/yy"}}</time> 

Il mio codice di esempio su StackOverflow mancava questo però. Per qualche motivo, Safari è stato in grado di eseguire il rendering del contenuto solo quando è stato attivato un evento utente.

+0

Siamo spiacenti. Questo non risolve il mio problema –

+0

@SudipKafle È possibile creare un plunkr in modo che possiamo vederlo in azione? –

0

Ho avuto lo stesso problema con angolare 2 e Safari e risolto aggiungendo la seguente libreria:

<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script> 

ho aggiunto prima altre librerie.

Problemi correlati