Maison >interface Web >js tutoriel >Comment désactiver la mise en cache des modèles dans AngularJs
Cet article présente principalement la méthode de désactivation de la mise en cache des modèles dans AngularJs. L'éditeur pense que c'est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.
Cet article présente la méthode de désactivation de la mise en cache des modèles dans AngularJs. Partagez-le avec tout le monde et laissez une note pour vous-même :
. En raison des caractéristiques d'AngularJs (ou du propre cache du navigateur ? ), le chargement du modèle HTML par défaut d'Angular sera mis en cache. Par conséquent, chaque fois que vous modifiez le modèle, vous devez souvent vider le cache du navigateur pour vous assurer que le navigateur obtient le dernier modèle HTML. Tester vous-même est une bonne chose, mais si le contenu du modèle du serveur est mis à jour, les utilisateurs ne le feront pas. tous coopèrent avec vous. Videz le cache de votre navigateur. C'est donc vraiment un gros problème.
app.config(function($routeProvider, $locationProvider) { $routeProvider .when('/Book/:bookId/ch/', { templateUrl: 'chapter.html', controller: 'ChapterController' }); });
Méthode 1 : Ajouter un horodatage (ou un autre nombre aléatoire) après le chemin du fichier modèle pour forcer AngularJs à charger un nouveau modèle depuis le serveur à chaque fois
app.config(function($routeProvider, $locationProvider) { $routeProvider .when('/Book/:bookId/ch/', { templateUrl: 'chapter.html' + '?datestamp=' + (new Date()).getTime(), controller: 'ChapterController' }); });
Mais ceci méthode Trop inesthétique. . . .
Méthode 2 : utilisez $templateCache pour vider le cache
// 禁止模板缓存 app.run(function($rootScope, $templateCache) { $rootScope.$on('$routeChangeStart', function(event, next, current) { if (typeof(current) !== 'undefined'){ $templateCache.remove(current.templateUrl); } }); });
Après avoir configuré l'adresse de routage, ajoutez ce code après app.config pour empêcher AngularJs de mettre en cache templateUrl.
J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.
Articles associés :
Comment lire le texte intégral dans vue
Comment obtenir des éléments dom dans vue
Comment convertir le format d'horodatage en js
Déploiement du projet vue sur nginx (tutoriel détaillé)
Comment implémenter l'effet de menu coulissant latéral dans vue+swiper
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!