我正在编写一个EShop项目,我在其中展示了一些客户可以购买的产品,当客户点击购买按钮时,我检查了客户是否登录,如果不是,我应该将客户发送到登录过程的特定控制器,如果客户登录我将他或她路由到另一个控制器,我该怎么办?
<script>
app.controller('buyTheItem',function($scope,$http){
//when customer click on buy button then:
$scope.buy = function(){
// here i check whether customer was logged in or not
if(was logged in){
// i should route to buyProductController
}
else{
// i should route to accountController for log in
}
};
});
</script>
在我使用window.location
之前,但是因为我需要角度路由而不是正确的方法,并且不使用它,任何人都可以告诉我该怎么做?
答案 0 :(得分:1)
为此,我建议您使用UiRouter:https://github.com/angular-ui/ui-router
实施uiRouter后,您可以使用服务$state
您的代码可能如下所示:
if (was logged in) {
$state.go('my state for buyProductController');
} else {
$state.go('my state for accountController');
}
uiRouter还有很多其他优势,你可以在这里看到:https://github.com/angular-ui/ui-router/wiki