Sto lavorando a un'app AngularJS con diverse direttive. I modelli della direttiva sono memorizzati in un file html separato. Durante la modifica di questo modello, il mio browser non rileva alcuna modifica dopo una ricarica e utilizza sempre una versione memorizzata nella cache. Eventuali altre modifiche al codice sorgente vengono rilevate e portano a una ricarica.Caricamento forzato del modello di una direttiva
Suppongo che il problema sia in qualche modo il $ templateCache che sembra essere utilizzato da AngularJS durante il caricamento del modello.
Quello che ho trovato nel codice sorgente di AngularJS 1.0.2 è la seguente dalla linea 4317 che fa parte del compileTemplateUrl():
$http.get(origAsyncDirective.templateUrl, {cache: $templateCache})
Mi chiedo se qualcun altro ha avuto questo tipo di problema e se c'è un modo per dire ad AngularJS quando cache e quando no.
Essa in realtà non risolvere il mio problema di disabilitare la cache in cromo per la mia versione cromata locale come utente che navigare il sito ancora caricare la cache versione. –
(Ci scusiamo per il doppio commento ma non sono riuscito a modificarlo più ...) Forzare la cache per ricaricare il modello ogni volta sembra un hack per me. Ma immagino di non avere scelta. Disabilitare il caching in chrome per la mia versione locale di Chrome risolve il problema solo per me.Altri visitatori che visitano il sito Web caricano ancora la versione cache. Gli aggiornamenti in modalità di produzione non sono quindi visibili finché l'utente non cancella la cache. –
Bene, io uso Yeoman per i miei progetti angularJS, quindi i file distribuiti hanno il loro nome hash come prefisso. Ciò rende la cache non proprio un problema, poiché qualsiasi modifica fondamentale all'app viene immediatamente riconosciuta (i file hanno nomi diversi). Per i test, uso anche Yeoman e costringe a ricaricare tutte le risorse. –