Bonjour à tous,

Je suis en train de (re)suivre le tuto sur AngularJS, je m'attendais à suivre les premiers chapitres tranquilou juste pour me remettre dans le bain mais voila que je sèche sur le chapitre sur les routes.

Le problème vient de ce bout de code :

$routeProvider
                .when('/', {
                    templateUrl: 'partials/home.html'
                })
                .when('/comments', {
                    templateUrl: 'partials/comments.html',
                    controller: 'CommentsCtrl'
                })
                .otherwise({redirectTo:'/'});

A partir de ce moment mon url : "http://localhost/angularjs/" devient "http://localhost/angularjs/#!/"
Et "http://localhost/angularjs/#/comments" devient "http://localhost/angularjs/#!/#%2Fcomments"

Sans surprise celle-ci n'est pas interprétée et donc rien ne se passe...

Ca fait un petit moment que je cherche une solution mais rien de concluant :/
Une piste voir une solution serait la bienvenue ^^

Merci d'avance !

8 réponses


darkhope
Auteur
Réponse acceptée

Ok, merci à vous deux.

Passé le rewriteLinks à false n'a rien donné mais j'ai solutionné mon problème avec

$locationProvider.hashPrefix('');

Si j'ai d'autres problèmes je me tournerais vers angular ui-router ;)

Est ce que vous connaissez un bon tuto Angular 2 ? J'ai quand même envie d'y jeter un oeil :)

alors petit conseil, interesse toi plutot a angular qui a changer completement de philosophie comparé a angularjs et c'est perdre du temps que d'apprendre une techno qui est sur la fin de vie.

darkhope
Auteur

Merci pour le conseil Defy mais d'après ce que j'ai lu sur Angular j'ai peur de repasser beaucoup de temps à apprendre la V2 pour pas grand chose. Quitte à tout redevelopper sous peu autant commencer avec quelque chose de stable et que je connais.

c'est pas forcément une bonne solution mais c'est ton choix et je le respecte.

pour ton soucie d'url, si j'etait toi je passerai par angular ui-router qui est, selon moi, la librairie externe au framework à utiliser impérativement pour remplacer le router de base d'angular. tu pourra manager tes url plus facilement et avec plus de souplesses.

Oui en angular2 est une meilleur solution.

Malgré tout tu as éssayé de mettre ce bout code dans ta route ?

$locationProvider.html5Mode
      enabled: true
      rewriteLinks: false

si tu veut réalisé des applications solide et structuré, je te pousse vraiment à aller voir ui-router.

Si tu veux un bon tuto pour angular je te conseille le livre de ninja squad:
https://books.ninja-squad.com/ (Prix mini de 5€)

C'est pas gratuit, mais franchement j'ai trouvé le bouquin vraiment bon.
L'avantage, c'est qu'il est mis à jour à chaque MAJ d'angular.
Quand tu l'achètes, tu as la version francaise et anglaise, ce qui est plutôt cool.

(PS: je n'ai aucun lien avec les auteurs de ce livre, j'ai juste beaucoup aprécié la qualité de celui ci)

tout à fait! j'avait acheter celui d'angular 1 et j'ai pris celui pour angular 2 aussi. au top!