Angularjs 角度布线-检索记录,检查记录';路由前的属性
我试图找出如何检索用户,检查该用户记录上的布尔值,并根据布尔值重定向用户。如果布尔值为真,则将它们发送到其他地方,如果它不是,则继续执行您正在执行的操作。下面的工作,但在重定向之前,它简要地显示了配置文件页面,这是我不希望发生的。我想抓取用户,检查他们是否是临时的,是否在他们看到配置文件页面之前重定向他们。我猜这里需要有另一个承诺,在检查用户是否为临时用户后,该承诺才得以实现?我可以举个例子Angularjs 角度布线-检索记录,检查记录';路由前的属性,angularjs,routes,angular-ui-router,url-routing,route-provider,Angularjs,Routes,Angular Ui Router,Url Routing,Route Provider,我试图找出如何检索用户,检查该用户记录上的布尔值,并根据布尔值重定向用户。如果布尔值为真,则将它们发送到其他地方,如果它不是,则继续执行您正在执行的操作。下面的工作,但在重定向之前,它简要地显示了配置文件页面,这是我不希望发生的。我想抓取用户,检查他们是否是临时的,是否在他们看到配置文件页面之前重定向他们。我猜这里需要有另一个承诺,在检查用户是否为临时用户后,该承诺才得以实现?我可以举个例子 .when("/:id", { templateUrl: "pages/profile.html",
.when("/:id", {
templateUrl: "pages/profile.html",
controller: "UsersCtrl",
resolve: {
breadcrumb: function() {
return "PROFILE";
},
user: function(User, $route) {
User.get({id: $route.current.params.id}).$promise.then(function(data) {
if (data.provisional) {
window.location = "http://www.google.com";
} else {
// do something else
}
})
}
}
})
看看这篇文章或一篇文章,你可能只需要返回
User.get(…
解析用户
属性中的承诺。据我理解,这应该是等待。您可以使用$routeChangeStart
和$routeChangeSuccess
的组合来控制路由过程中发生的事情。请参阅。或相应的$state
方法,用于ui路由器。