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

问题描述:

所以我试图配置我的应用程序的方式,让它动态路由取决于服务器的响应。我的代码如下。取决于服务器的动态路由响应在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); 

      }}}]) 

另一个控制器,让与c在应用程序进入类别页面之前服务器响应中的名称。

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一样。当我浏览用户类型服务时,我得到了一系列类别,并且我希望使用其中一个类别名称在子类别服务中传递,就像我之前写的那样。应用程序的流程与用户 - >类别 - >根据类别一样,显示子类别。任何帮助,将不胜感激。谢谢 !!

+0

难道这应该是一个单页的应用程序?如果是,那么'$ location.path()'会导致你的页面重新加载。另外,我不明白是什么问题?你的代码是否工作,如果是,那么你是否得到任何错误? –

+0

你想要什么结束地址?例如。猫=水果,蔬菜,fruit_subcats =香蕉,苹果,vegetables_subcats =番茄,土豆... 1.结束subcat网址/水果/香蕉,/蔬菜/番茄。 1.选项/香蕉,/番茄......即你想从url的根目录开始subcat或作为第二个参数? –

+0

我想从url的根目录开始subcat,而不是第二个参数。 @AyushBahuguna我能做些什么来不让它每次都重新加载? – BleachedAxe

使用这样

路线

.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); 

      }}}])