its*_*sme 3 javascript controllers angularjs route-provider
我正在尝试调用/auth/logouturl在删除会话后重定向:
app.config(['$routeProvider',function($routeProvider) {
$routeProvider
.when('/auth/logout',{
controller:'AuthLogout'
//templateUrl: not needed
})
})
.controller('AuthLogout', ['$window','$location', function ($window,$location) {
$window.localStorage.removeItem('user_username');
$window.localStorage.removeItem('user_id');
$window.localStorage.removeItem('user_session_token');
$location.path('/');
}]);
Run Code Online (Sandbox Code Playgroud)
我实际上不需要AuthLogout控制器的视图但是如果我没有templateUrl在routeProvider中指定我不能使它工作,而如果我指定templateUrl它工作.
如何在不加载视图的情况下调用url/controller?
你可以这样做:
.when('/auth/logout', {
controller: function(){
//do staff
}
})
Run Code Online (Sandbox Code Playgroud)
顺便说一句,你的代码可能有问题,因为模板有效,你可以用同样的方式利用它
http://docs.angularjs.org/api/ngRoute/provider/$routeProvider
您可以根据帖子https://github.com/angular/angular.js/issues/1838使用解析处理程序
查看此快速示例并注意解决警报声明.
.when('/detail/:id/', {
resolve: {
load: function ($route, dataService) {
alert("hello");
//Your statements instead of all this which I found in an example
return dataService.load($route.current.params.id);
}
}
})
Run Code Online (Sandbox Code Playgroud)
您可以使用自己的语句代替警报