【问题标题】:angular redirect with $location path outside the route使用路径外的 $location 路径进行角度重定向
【发布时间】:2014-03-10 05:00:46
【问题描述】:

我有一个 index.html 页面,里面有一个 $routeProvider。每当我在此页面内进入新路径时,我都会检查用户是否已登录。如下所示:

myApp.run(function($rootScope, $location, authService) {
    $rootScope.$on("$routeChangeStart", function (event, next, current) {
        $rootScope.title = next.$$route.title;

        authService.isLogged().then(null, function() {
            $location.path('/login');
        });
    });
});

我有一个名为 login.html 的单独页面。如果用户未登录,我想要一条 javascript 行将他重定向到 login.html。在这个例子中,我复制/粘贴,如果我有 URL

localhost/myapp/#/home

它将我重定向到

localhost/myapp/#/login

但我希望它把我重定向到

localhost/myapp/login

宽度输出#.

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    你可以只使用普通的js,如果你的基础总是/myapplogin就足够了:

    $window.location.href = 'login'; //If you care about testability
    window.location.href = 'login'; //If you don't
    

    【讨论】:

    • 第一个不起作用,我不知道为什么,但是第二个完全符合我的要求,非常感谢 Marcel Gwerder
    • 您是否像使用 $location 那样注入 $window
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 2018-09-02
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多