Roadmap › AngularJS (1.x) — Legacy › Module: Scope, Digest and Directives
Lessons in this course (13)
11. Routing with ngRoute and UI-Router
IntermediateMediumLesson 11 of 13
js
angular.module("shopApp", ["ngRoute"])
.config(["$routeProvider", "$locationProvider", function ($routeProvider, $locationProvider) {
$routeProvider
.when("/orders", { template: "<order-list></order-list>" })
.when("/orders/:id", {
templateUrl: "views/order-detail.html",
controller: "OrderDetailController as vm",
resolve: { order: ["$route", "orderApi", ($route, api) => api.get($route.current.params.id)] },
})
.otherwise("/orders");
$locationProvider.html5Mode(true); // URLs without #! (needs server rewrite + <base href="/">)
}]);UI-Router uses states ($stateProvider.state("orders.detail", {...})), nested views and named views — better for complex apps. resolve loads data before the route activates.