Ok. I have a url setup to log a user out. On the server, there is no html. The session on the server simply gets destroyed, and then the user is redirected to an address.
This works fine with plain html, but with Angular i am having issues. I’ve been routing all main routes using $routeProvider.when('/foo', {templateUrl: '/foo.html', controller: 'Ctrl'}) and that works fine for normal templated routes.. however, if there is no template it will not work.
So, how do i support the route /logout in the same fashion as above, when there is no html template?
A workaround is to use
templateinstead oftemplateUrl. From the Angular docs:This can be used as follows:
Note: You must use
" "instead of an empty string""because Angular uses anif (template)check before firing the controller, and an empty string evaluates to false.— EDIT —
A better way to do it is to use the
resolvemap. See the Angular Docs:This can be used like this:
Note: I’ve changed it from “Ctrl” to “RedirectService”, because what you’re describing in the question isn’t really a “controller” in the Angular sense. It doesn’t set up scope for a view. Instead, it’s more like a service, which ends up redirecting.