这个问题已被问过几次没有正确答案,所以希望这个问题/答案可以解决许多人的问题。
基本上我有一个附加到我的路线的解决方案对象,如下:
$routeProvider
.when('/',
{
templateUrl: "html/landing.html",
controller: "LandingController",
resolve: {
app: function ($q, $location) {
var defer = $q.defer();
var next = "landing";
checkRedirect(defer, $location, next);
return defer.promise;
}
}
});
checkRedirect
函数执行了几次AJAX
次调用,可能会更改$location
,如下所示:
$location.path("/home");
一切都按预期工作但由于某种原因发生重定向时,旧路线中的模板在重定向和渲染正确模板之前会瞬间闪烁一秒钟。
答案 0 :(得分:0)
这是一个黑客,它基本上隐藏了旧模板闪烁的“瞬间”的身体。但是,如果某人有实际解决方案,请分享。
$rootScope.$on('$locationChangeStart', function (event) {
$('body').hide();
setTimeout(function () {
$('body').show();
}, 100);
});