我在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
答案 0 :(得分:0)
尝试这样做
$timeout(function() {
$scope.$apply(function() {
$location.path("/nextview");
});
}, 2000);
如果这不起作用,请检查控制台是否有任何错误。