AngularJS中$ timeout内的$ location

时间:2015-07-05 11:13:51

标签: angularjs timeout location

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

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

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

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

但是,如果我只有以下内容,则可以:

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

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

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

1 个答案:

答案 0 :(得分:0)

尝试这样做

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

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