动态路由取决于angularjs中的服务器响应

时间:2017-07-15 02:21:19

标签: javascript angularjs

所以我试图以一种允许它根据服务器响应动态路由的方式配置我的应用程序。我的代码如下。

HTML

<div ng-controller="CategoriesController" class="column">
    <div  layout-align="center center" ng-repeat="category in categories" >

        <div class="category-button-text-english">{{category}}</div>
        <md-button ng-click="submit()" class="category-button"  aria-label="{{category}}">
            <img ng-src="assets/images/categories/{{category}}.png"
                 alt="{{category}}">
        </md-button>
        <div class="category-button-text-translation">
            {{category|uppercase| translate}}
        </div>

控制器

$scope.submit=function(){
     subCategoryService.getsubCategories().then(function (response) 
        {
            console.log(response)
          $rootScope.subcategories=response.data.data.subcategories;
          $scope.category=response.data.data.category_name;          
                                       })
          $location.path('/subcategory');    

}

服务

 .factory('subCategoryService', ['$http', '$httpParamSerializerJQLike', '$cookies','$rootScope', function ($http, $httpParamSerializerJQLike, $cookies,$rootScope,category){
          var url2 = 'localhost:5000/api/subcategories/';
        return {getsubCategories: function () {
                return $http.get(url2);

            }}}])

另一个控制器,在应用程序出现在类别页面之前,根据服务器的响应提供类别名称。

controller("userTypeController", function ($rootScope,$scope, $location, CategoryService) {
$scope.getCat=function(){
    CategoryService.getCategories() .then(function (response) 
        {
          $rootScope.categories=response.data.data.categories;

                                       });
    $location.path('/category');
};

所以我想要的是,从服务器获取类别名称后,它会根据在类别页面上单击的按钮调用正确的路径。例如,根据点击的按钮,调用应该是这样的 localhost:5000/api/subcategories/CATEGORY_NAME。当我浏览用户类型服务时,我得到一个类别数组,并且我想使用其中一个类别名称在子类别服务中传递,就像我之前写的那样。应用程序的流程类似于User-&gt; Category-&gt;根据类别,显示子类别。任何帮助,将不胜感激。谢谢!!

1 个答案:

答案 0 :(得分:-1)

像这样使用

路线

.when("/category/:category_name", {
    ....
    ....
  })

服务

.factory('subCategoryService', ['$http', '$httpParamSerializerJQLike', '$cookies','$rootScope', function ($http, $httpParamSerializerJQLike, $cookies,$rootScope,category){
          var url2 = 'localhost:5000/api/subcategories/'+httpParamSerializerJQLike.category_name;
        return {getsubCategories: function () {
                return $http.get(url2);

            }}}])