大佬教程收集整理的这篇文章主要介绍了取消路线并重定向到其他路线,而不显示AngularJS中的原始内容,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这种情况:
用户A想访问http://www.example.com/content.现在,当内容不通过身份验证时,该内容不可访问.如果用户未通过身份验证,则应将其重定向到http://www.example.com/login.
现在我设法做到这一点,但是我简要地看到内容页面的渲染的html.我不想要这个如何重定向到登录页面,而不呈现内容页面?
$routeProvider.when('/login',route.resolve('Login',falsE)) $routeProvider.when('/content',route.resolve('Content',truE))
现在我试过这个:
$rootScope.$on('$routeChangeStart',function (event,routE) { if (route.requiresLogin) { $http.get('/api/user/loggedin/').then(function (responsE) { if (response !== 'true') { $LOCATIOn.path('/login'); } }); } });
哪个工作,但我仍然看到其他页面(内容)的html的内容闪烁.
我已经阅读了here,您也可以尝试在路由解析时更改解析功能:
var resolve = function (basename,requiresLogin) { var routeDef = {}; var dependencies = [routeConfig.getControllersDirectory() + basename + 'Controller.js']; routeDef.templateUrl = routeConfig.getViewsDirectory() + basename.toLowerCase() + '.html'; routeDef.controller = basename + 'Controller'; routeDef.requiresLogin = requiresLogin; routeDef.resolve = { load: ['$q','$rootScope','$http','$LOCATIOn',function ($q,$rootScope,$http,$LOCATIOn) { console.log(requiresLogin); if (requiresLogin) { return checkLoggedIn($q,$LOCATIOn); } else { return resolveDependencies($q,dependencies); } }] }; return routeDef; }
希望你能帮助我.
所以在你的HTML中,像:
<body ng-app="app" ng-controller="DocumentCtrl"> <div ng-view> </div> </body>
那么你的路线将被定义如下:
when('/home',{ templateUrl: templateUrl blah,controller: basename + 'Controller',resolve: { load: function($q,MY_user_serviCE){ var defer = $q.defer(); if(~MY USER LOGGED_IN LOGIC RETURNS TRUE~){ defer.resolve(); } else { defer.reject("not_logged_in"); } return defer.promise; } } }).
然后我的DocumentCtrl控制器将包含:
$scope.$on("$routeChangeError",function(evt,current,prevIoUs,rejection){ if(rejection == "not_logged_in"){ //DO SOMETHING } else { //OR DO SOMETHING ELSE } });
我正在运行上面,没有任何不应该加载的视图的闪光.
以上是大佬教程为你收集整理的取消路线并重定向到其他路线,而不显示AngularJS中的原始内容全部内容,希望文章能够帮你解决取消路线并重定向到其他路线,而不显示AngularJS中的原始内容所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。