如果某些条件不正确,我想重定向用户。 (通常当他没有连接时)。
我有2个解决方案来重定向stackoverflow或ui-router wiki上的用户。但我不明白他们何时采取行动以及对我的用例最有利。
{
name: 'example',
url: "/example/:idExample",
templateUrl: '[...]',
controller: '[...]',
controllerAs: '[...]',
onEnter: ['connectedUser', function (connectedUser) {
console.log("On Enter");
if (condition) {
//redirect;
}
}],
resolve: {
canAccess: function canAccess(connectedUser) {
console.log("CanAccess");
if (condition) {
$timeout(function () {
//redirect
}, 0);
return $q.reject()
}
}
}
}
它们都很好用,但$ timeout对我来说并不好看。然而,似乎在onEnter之前调用了解决方案而且也许更好地防止一些无用的负载? 使用其中一种时,我并不理解。