$location inside a $timeout in AngularJS

$location inside a $timeout in AngularJS

我在 AngularJS 中有一个控制器,在 header 中有 $timeout 和 $location。 控制器具有以下代码:

$timeout(function () {
    $location.path("/nextview")}, 500, false)
}

由于 $timeout 的异步性质,$location 似乎未通过,因此失败。如果我将 $location 作为函数参数的一部分,它仍然不起作用。

$timeout(function ($location) {
    $location.path("/nextview")}, 500, false)
}

但是,如果我只有以下内容,它就可以工作:

    $location.path("/nextview")};

我真的需要某种超时,因为位置更改之前的代码是为了给用户一个视觉提示。如果立即更改位置,则没有视觉提示。

是否有更好的暂停或休眠方法,也许是同步的? 提前致谢 :D

尝试这样做

$timeout(function() {
    $scope.$apply(function() {
        $location.path("/nextview");
    });
}, 2000);

如果这不起作用,请检查您的控制台是否有任何错误。