我正在编写一个小的AngularJS应用,该应用具有登录视图和主视图,其配置如下:
$routeProvider
.when('/main' , {templateUrl: 'partials/main.html', controller: MainController})
.when('/login', {templateUrl: 'partials/login.html', controller: LoginController})
.otherwise({redirectTo: '/login'});
我的LoginController检查用户/密码组合,并在$ rootScope上设置一个属性,以反映此情况:
function LoginController($scope, $location, $rootScope) {
$scope.attemptLogin = function() {
if ( $scope.username == $scope.password ) { // test
$rootScope.loggedUser = $scope.username;
$location.path( "/main" );
} else {
$scope.loginError = "Invalid user/pass.";
}
}
一切正常,但是如果我访问http://localhost/#/main
,最终将绕过登录屏幕。我想写一些类似的内容,“每当路由更改时,如果$
rootScope.loggedUser为null,则重定向到/ login”
…
…等等。我可以听路线变化吗?无论如何,我都会发布这个问题并继续寻找。
在仔细阅读了一些文档和源代码之后,我认为我可以使用它。也许这对其他人有用吗?
我在模块配置中添加了以下内容:
angular.module(...)
.config( ['$routeProvider', function($routeProvider) {...}] )
.run( function($rootScope, $location) {
// register listener to watch route changes
$rootScope.$on( "$routeChangeStart", function(event, next, current) {
if ( $rootScope.loggedUser == null ) {
// no logged user, we should be going to #login
if ( next.templateUrl != "partials/login.html" ) {
// not going to #login, we should redirect now
$location.path( "/login" );
}
}
});
})
一件奇怪的事情是,我必须测试部分名称(login.html
),因为“下一个” Route对象没有url或其他名称。也许有更好的方法?
问题内容: 我正在尝试实现重定向模式,类似于StackOverflow所做的事情: 这是应该发生的情况的简单表格: 现在,我可以使用访问配置文件,但会生成一个。我已经尝试使用关键字参数和一些东西,但是我不确定什么是行不通的。 我如何将一条路由这样重定向到另一条路由? 问题答案: 更新:解决主要问题“我的路线出了什么问题”,最简单的调试方法是使用;例如: 在这种情况下,这确认端点设置正确。这是同时展
sql如果有重复数据,怎么根据需要去重,比如no相同,优先保留code为b的 五条数据四条code a 一条code b 其中code b的no和code a重复了,最后应该是四条数据,其中三条code a一条code b
问题内容: 我有一张地图,如下所示: 如您所见,将有一个名为split的最终常量,其值为40 我必须实现逻辑,例如,如果映射的值达到40,那么从计算开始的映射的第一个键以及恰好达到40的键也将被选择为min和max,如上所述。 。 除此之外,如果总和超过40,则需要格外小心。如果是,我们必须忽略它,并且在最小值和最大值相等的情况下,将先前的值本身作为最小值和最大值。 请建议我如何使用Java和。乡
我有一个数据集 是否有任何方法可以确保,如果不同的的下一个值小于中的值,那么它应该在 列中执行加法。 下面是我期待的结果 所以基本上我寻求一个解决方案,对于每个唯一的< code>field_pointpath,如果它遇到一个小于前一个值的值,那么它应该将前一个值与下一个值相加。 if <代码>值[i 1]
问题内容: 我正在使用具有两种类型的用户的Django应用程序:管理员和用户。这两个都是我项目中的组,根据个人登录所属的组,我想将它们重定向到单独的页面。现在我在settings.py中有这个 这会将所有登录的用户重定向到“ admin_list”,但是该视图只能由Admins组的成员访问- 否则它将返回403。至于登录视图本身,我仅使用Django提供的视图。我已将此添加到我的主要urls.py