Question Quelle est la différence entre un routeur angulaire et un routeur angulaire?


Je prévois d'utiliser AngularJS dans mes grandes applications. Donc, je suis en train de trouver les bons modules à utiliser.

Quelle est la différence entre ngRoute (angular-route.js) et routeur-ui (angular-ui-router.js) modules?

Dans de nombreux articles quand ngRoute est utilisé, l'itinéraire est configuré avec $ routeProvider. Cependant, lorsqu'il est utilisé avec ui-routeur, route est configurée avec $ stateProvider et $ urlRouterProvider.

Quel module dois-je utiliser pour améliorer la gestion et l'extensibilité?


1005
2018-01-09 15:03


origine


Réponses:


ui-routeur est un module tiers et est très puissant. Il supporte tout ce que le ngRoute normal peut faire ainsi que de nombreuses fonctions supplémentaires.

Voici une raison courante ui-routeur est choisi sur ngRoute:

  • ui-routeur permet de vues imbriquées et plusieurs vues nommées. Ceci est très utile avec une application plus grande où vous pouvez avoir des pages qui héritent d'autres sections.

  • ui-router vous permet d'avoir une liaison de type fort entre les états en fonction des noms d'états. Modifier l'URL dans un endroit mettra à jour chaque lien à cet état lorsque vous construisez vos liens avec ui-sref. Très utile pour les grands projets où les URL peuvent changer.

  • Il y a aussi le concept de décorateur qui pourrait être utilisé pour permettre à vos routes d'être créées dynamiquement en fonction de l'URL à laquelle vous voulez accéder. Cela pourrait signifier que vous n'aurez pas besoin de spécifier toutes vos routes avant la main.

  • États vous permettre de cartographier et d'accéder à différentes informations sur les différents états et vous pouvez facilement passer des informations entre les états via $stateParams.

  • Vous pouvez facilement déterminer si vous êtes dans un état ou parent d'un état pour ajuster l'élément d'interface utilisateur (en mettant en évidence la navigation de l'état actuel) dans vos modèles via $state fourni par ui-routeur que vous pouvez exposer en le définissant dans $rootScope sur run.

En substance, ui-routeur est ngRouter avec plus de fonctionnalités, sous les feuilles, il est assez différent. Ces fonctionnalités supplémentaires sont très utiles pour les applications plus importantes.

Plus d'information:


1080
2018-01-09 15:24



ngRoute est un module développé par l'équipe AngularJS qui faisait auparavant partie du noyau AngularJS.

ui-routeur est un framework qui a été réalisé en dehors du projet AngularJS pour améliorer et améliorer les capacités de routage.

De l'ui-routeur Documentation:

AngularUI Router est un framework de routage pour AngularJS, qui permet   vous organiser les parties de votre interface dans une machine d'état.   Contrairement au service $ route dans le noyau angulaire, qui est organisé autour   Itinéraires d'URL, UI-Router est organisé autour des états, qui peuvent éventuellement   avoir des routes, ainsi que d'autres comportements, ci-joint.

Les états sont liés à des vues nommées, imbriquées et parallèles, ce qui vous permet de   gérer puissamment l'interface de votre application.

Aucun d'entre eux n'est meilleur, vous devrez choisir le plus approprié pour votre projet.

Toutefois, si vous envisagez d'avoir des vues complexes dans votre application et que vous souhaitez traiter la notion de "$ state". Je vous recommande de choisir ui-routeur.


125
2018-01-09 15:30



ngRoute est un module de base angulaire qui est bon pour les scénarios de base. Je crois qu'ils vont ajouter des fonctionnalités plus puissantes dans les prochaines versions.

URL: https://docs.angularjs.org/api/ngRoute

Ui-routeur est un module contribué qui est surmonté les problèmes de ngRoute. Principalement des vues imbriquées / complexes.

URL: https://github.com/angular-ui/ui-router

Une partie de la différence entre ui-router et ngRoute

http://www.amasik.com/angularjs-ngroute-vs-ui-router/

enter image description here


64
2017-12-18 13:05



ngRoute fait partie du framework principal AngularJS.

ui-router est une bibliothèque communautaire qui a été créée pour tenter d'améliorer les capacités de routage par défaut.

Voici un bon article sur la configuration / configuration de ui-router:

http://www.ng-newsletter.com/posts/angular-ui-router.html


49
2018-01-09 15:28



Si vous souhaitez utiliser la fonctionnalité de vues imbriquées implémentée dans le paradigme ngRoute, essayez segment de route angulaire - il vise à étendre ngRoute plutôt que de le remplacer.


34
2018-04-07 19:24



Généralement ui-routeur fonctionne sur un mécanisme d'état ... Il peut être compris avec un exemple facile:

Disons que nous avons une grande application d'une bibliothèque de musique (comme ..gaana ou saavan ou tout autre). Et au bas de la page, vous avez un lecteur de musique qui est partagé à travers tout l'état de la page.

Maintenant, disons que vous cliquez simplement sur quelques chansons à jouer. Dans ce cas, seul l'état du lecteur de musique doit changer au lieu de recharger la page entière. Cela peut être facilement géré par ui-routeur.

Alors que dans ngRoute nous attachons juste la vue et le contrôleur.


17
2018-01-02 22:36



Angulaire 1.x

ng-route:

ng-route est développé par l'équipe angularJS pour le routage.

ng-route: url (Location) basé routage.

Ex:

$routeProvider
    .when("/home", {
        templateUrl : "home.html"
    })

ui-route:

ui-routeur est développé par un module tiers.

ui-routeur: routage basé sur l'état

Ex:

 $stateProvider
        .state('home', {
            url: '/home',
            templateUrl: 'home.html'
        })

-> ui-router permet des vues imbriquées

-> ui-router plus puissant que ng-route

ng-routeur, ui-routeur


16
2017-08-30 12:12



ngRoute est un module construit par l'équipe Angular qui fournit des fonctionnalités de base de routage côté client. Ce module fournit une base assez puissante pour le routage, et peut être construit sur assez facilement pour donner une fonctionnalité de routage solide, comme illustré dans ce blog (Assurez-vous de lire la piste de commentaires entre Ward Bell et Ben Nadel, l'auteur - ils sont un couple de pros angulaires)

ui-router détourne l'attention des routes centrées sur l'URL vers des «états» d'application, qui peuvent être reflétés ou non dans l'URL.

Les principales fonctionnalités ajoutées par ui-router sont les états imbriqués et les vues nommées.

Les états imbriqués vous permettent de séparer la logique du contrôleur pour les différentes parties de l'application. Un exemple très simple de ceci serait une application avec la navigation principale en haut, une liste de navigation secondaire le long de la gauche, et le contenu sur la droite. Sans états imbriqués, un seul contrôleur devrait généralement gérer la logique d'affichage pour la navigation secondaire ainsi que le contenu. Le routage imbriqué vous permet de séparer ces problèmes.

Les vues nommées sont une autre caractéristique supplémentaire d'ui-router. Avec ngRoute, vous ne pouvez avoir qu'une seule directive ngView sur une page, alors qu'avec des vues nommées dans ui-router, vous pouvez spécifier plusieurs directives ui-view, puis chaque état peut affecter le modèle et le contrôleur des vues de noms. Un exemple super simple de cela serait d'avoir le contenu principal de votre application soit la vue principale, et ensuite d'avoir également une barre de pied de page qui serait une ui-vue séparée. Dans ce scénario, le contrôleur du pied de page n'a plus à écouter les modifications d'état / de route.

Une bonne comparaison de ngRoute et ui-routeur peut être trouvé sur ce podcast épisode.

Juste pour rendre les choses plus confuses, gardez un oeil sur le nouveau module de routage "officiel" que l'équipe Angular s'attend à lancer pour les versions 1.5 et 2.0 d'Angular. Cela remplacera le module ngRoute. Ici  est la documentation actuelle pour le nouveau module Routeur - elle est assez éparse depuis cette publication car l'implémentation n'a pas encore été finalisée. Regarder ici pour plus de nouvelles sur quand ce module sera réellement publié.


13
2018-06-27 03:58



ngRoute est une bibliothèque de routage de base, dans laquelle vous pouvez spécifier une vue et un contrôleur pour n'importe quelle route.

Avec ui-router, vous pouvez spécifier plusieurs vues, à la fois parallèles et imbriquées. Donc, si votre application nécessite (ou peut nécessiter à l'avenir) tout type de routage / vues complexes, alors allez-y avec ui-routeur.

Ce est le meilleur guide de démarrage pour le routeur AngularUI.


11
2017-08-28 10:06



Chose de base que vous devez savoir: ng-router uses $location.path() et ui-routeur utilise $state.go

Nous reposer toutes les fonctionnalités.


10
2017-10-30 00:18