如何动态添加路径角度

时间:2015-10-28 14:41:05

标签: angularjs asp.net-mvc routing

我正在编写一个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之前,但是因为我需要角度路由而不是正确的方法,并且不使用它,任何人都可以告诉我该怎么做?

1 个答案:

答案 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