52 votes

URL préfixe hash-bang (#! /) Au lieu du simple hash (# /) dans Angular 1.6

Mes URL sur un projet AngularJS sont passées de localhost:3000/admin#/ à localhost:3000/admin#!/ depuis le dernier moment où j'ai travaillé sur mon projet ...

Rien trouvé sur le web, est-ce que quelqu'un sait ce que c'est?

74voto

Mistalis Points 12950

Il est de nouveau à partir de AngularJS 1.6, qui a ajouté une nouvelle table de hachage préfixe.

En raison de aa077e8, le hachage par défaut-préfixe utilisé pour $locationhash-bang Url a changé à partir de la chaîne vide ('') pour le bang ('!'). Si votre application ne pas utiliser en mode HTML5 ou est en cours d'exécution sur les navigateurs ne prennent pas en charge HTML5 mode, et vous n'avez pas précisé votre propre hachage-préfixe puis côté client Url contient maintenant un ! préfixe. Pour exemple, plutôt que d' mydomain.com/#/a/b/c l'URL va devenir mydomain.com/#!/a/b/c.

Source ici pour plus d'informations.


Si vous souhaitez supprimer ce préfixe, ajoutez ce code à votre config:

appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]);

11voto

Overdrivr Points 2869

Tout le monde propose de supprimer le préfixe, mais vous pouvez également simplement ajouter un ! aux URL côté client (si vous n'utilisez pas le mode HTML5, ce que vous ferez probablement si vous êtes ici).

Donc, dans vos fichiers côté client , mettez à jour les URL comme ceci:

#/foo/bar > #!/foo/bar

6voto

DevDig Points 810

Dans Angular 1.6.0, le hashPrefix par défaut a été remplacé par ! . Voir la validation correspondante et l' entrée du journal des modifications .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X