【问题标题】:how to redirect to another page in routeProvider in resolve condition如何在解析条件下重定向到 routeProvider 中的另一个页面
【发布时间】:2014-09-04 10:51:43
【问题描述】:

如果 sessionStorage.logged 设置为 true,我想将我的页面重定向到主页。下面是我的代码。为什么我下面的代码不起作用。

因为我是 angularjs 的新手,所以我不知道该怎么做。如果你能帮助解决这个问题,我会更加感谢你

.when('/login', 
{
    templateUrl: 'views/login.html',
    controller:'LoginCtrl',
    resolve:
    {
            mess:function()
            {
                var t=(sessionStorage.logged).toString();
                if(t=="true")
                {
                    redirectTo: '/home';
                }
            }

    }
})

【问题讨论】:

  • 不是真正的答案,而是一种解决方法:代替“解决”,添加您的登录控制器: if(alreadyLoggedin){$location.path('/home');}
  • @Fortega - 控制器逻辑仅在控制器第一次加载时执行。如果用户再次手动点击 /login,您的解决方案将不会执行。

标签: angularjs


【解决方案1】:

使用$location.path(),它就像redirectTo一样工作:

.when('/login', 
{
    templateUrl: 'views/login.html',
    controller:'LoginCtrl',
    resolve:
    {
            mess:function($location)
            {
                var t=(sessionStorage.logged).toString();
                if(t=="true")
                {
                    $location.path('/home');
                    //redirectTo: '/home';
                }
            }

    }
})

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
相关资源
最近更新 更多