Maison >interface Web >js tutoriel >Comment désactiver la mise en cache des modèles dans AngularJs

Comment désactiver la mise en cache des modèles dans AngularJs

亚连
亚连original
2018-06-23 17:34:191478parcourir

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é)

dans Comment implémenter une boucle de barre de défilement d'élément pour ajouter du contenu en JavaScript

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn