javascript - une - vue js




Quelle est la différence entre un routeur angulaire et un routeur angulaire? (10)

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

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

Dans de nombreux articles, lorsque ngRoute est utilisé, route est configuré avec $ routeProvider . Cependant, lorsqu'il est utilisé avec ui-router , route est configuré avec $ stateProvider et $ urlRouterProvider .

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



1- ngRoute est développé par l'équipe angular alors que ui-router est un module tiers. 2- ngRoute implémente le routage en fonction de l'URL de l'itinéraire, tandis que ui-router implémente le routage en fonction de l'état de l'application. 3-ui-router fournit tout ce que le ng-route fournit, ainsi que des fonctionnalités supplémentaires comme les états imbriqués et plusieurs vues nommées.


Ce que vous devez savoir: ng-router utilise $location.path() et ui-router utilise $state.go

Nous reposer toutes les fonctionnalités.


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.


le routeur d'ui vous facilite la vie! Vous pouvez l'ajouter à votre application AngularJS en l'injectant dans vos applications ...

ng-route fait partie du core AngularJS, donc c'est plus simple et vous donne moins d'options ...

Regardez ici pour mieux comprendre ng-route: https://docs.angularjs.org/api/ngRoute

Aussi, lorsque vous l'utilisez, n'oubliez pas d'utiliser: ngView ..

ng-ui-routeur est différent mais:

ui-router mais vous donne plus d'options ....


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 assez facilement pour donner une fonctionnalité de routage solide, comme illustré dans ce blog (assurez-vous de lire le commentaire 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ée sur cet épisode de podcast .

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. Here 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. Regardez here pour plus de nouvelles sur quand ce module sera réellement publié.


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.

http://www.ng-newsletter.com/posts/angular-ui-router.html meilleur guide de démarrage pour le routeur AngularUI.


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


ng-View (développé par l'équipe AngularJS) ne peut être utilisé qu'une seule fois par page, alors que ui-View (module tiers) peut être utilisé plusieurs fois par page.

ui-View est donc la meilleure option.


Angulaire 1.x

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

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

ng-route: routage basé sur l'URL (Location).

Ex:

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

ui-router :

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

ui-router: 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

https://docs.angularjs.org/api/ngRoute , ui-router





angularjs-module