-1
したがって、サーバーの応答に応じて動的にルーティングできるようにアプリケーションを構成しようとしています。私のコードは以下の通りです。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を与えるもう一つのコントローラアプリケーションがカテゴリページに来る前に、サーバーの応答からategoryの名前。
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
のようになります。私はユーザータイプのサービスを調べるときにカテゴリの配列を取得し、前に書いたように、サブカテゴリサービスで渡されるカテゴリ名の1つを使用したいと思います。アプリケーションの流れはUser-> Category->カテゴリに応じて、サブカテゴリを表示します。どんな助けもありがとう。ありがとう!!
これは、単一ページのアプリケーションことになっていますか? yesの場合、 '$ location.path()'はあなたのページをリロードさせます。また、何が問題なのか理解できません。あなたのコードは動作していませんか?はいの場合、エラーが発生していますか? –
エンドURLは何ですか?例えば。猫=果物、野菜、fruit_subcats =バナナ、リンゴ、vegetables_subcats =トマト、ジャガイモ... 1. end subcat url /果物/バナナ、/野菜/トマト。 1. option/banana、/ tomato ...つまり、urlのルートか2番目のパラメータとしてsubcatを起動したいのですか? –
2番目のパラメータではなく、urlのルートからsubcatを開始します。 @AyushBahuguna毎回リロードしないようにするにはどうすればよいですか? – BleachedAxe