2017-01-25 13 views
0

JSONファイルの特定のデータを基本的に表に表示するWebサイトを構築しています。ユーザーの選択に応じてURLを作成するAngularJS

私の問題は、ユーザーの選択に応じてロードできるJSONファイルが250種類以上あることです。たとえば、ユーザーがボタン "a"をクリックし、次にボタン "b"をクリックすると、ファイル "a_b.json"をロードする必要があります。

var app = angular.module('webStatistics', ['ngRoute']); 
app.config(function($routeProvider){ 
    $routeProvider 
     .when('/stats/views/', {templateUrl: 'home'}) 
     .when('/stats/views/home.html', { 
      controller : 'testController' 
      templateUrl: '/stats/views/home.html' 
     }) 
     .otherwise({redirectTo : '/'}); 
}); 
app.controller('testController', function($scope, $http) { 
     $http.get('../app/sources/stats/004/a_b.json').success(function(data) { 
     $scope.variables = data; 
     }); 
}); 

は私が私の$ HTTPサービスに与えるURLを「動的に構築」する方法があるかどうかを知りたい:今のところ私は1つのJSONファイルでテストしてみた、ここに私のテストコードです?したがって、ユーザーの選択肢がxでオプションz-> ../stats/x/x_z.jsonの場合

一度に1つのファイルだけが読み込まれます。

答えて

1

このヘルプが必要です。

var app = angular.module('webStatistics', ['ngRoute']); 
app.config(function($routeProvider){ 
    $routeProvider 
     .when('/stats/views/', {templateUrl: 'home'}) 
     .when('/stats/views/home.html', { 
      controller : 'testController' 
      templateUrl: '/stats/views/home.html' 
     }) 
     .otherwise({redirectTo : '/'}); 
}); 
app.controller('testController', function($scope, $http) { 
    $scope.item1 = ''; 
    $scope.item2 = ''; 

    $scope.getData() { 

     if ($scope.item1 && $scope.item2) { 
      var api = '../app/sources/stats/004/' + item1 + '_' + item2 + '.json'; 
      $http.get(api).success(function(data) { 
       $scope.variables = data; 
      }); 
     } 

    }; 
}); 
+0

時間がわかりましたが、あなたのコードは私よりも最適です:) – Matieu

関連する問題