我不確定這是否有意義,我花了一些時間試圖研究我需要的答案。
我想知道是否有可能在角度上改變請求從一個$ http.get請求的URL從一個選擇框的值。
所以我建立了一個簡單的控制器,它獲取JSON文件並將響應傳遞給作用域,然後將該數據傳遞給視圖。
但我將有幾個JSON文件,我想加載從下拉列表中選擇一個選項並重新加載數據。
我的角度是相當基本的,所以我不確定這是否有可能在飛行中完成?
var app = angular.module('serverstats', []);
app.controller('ServerController', function($scope, $http){
var apiFeed = $('.apiSelecter').val();
$http.get(apiFeed).then(function(response){
$scope.status = response.data;
$scope.server = [];
angular.forEach($scope.status.servers, function(svr) {
$scope.server.push(svr);
})
console.log('server', $scope.server);
});
});
<select class="apiSelecter">
<option value="/test.json">Data File 1</option>
<option value="/test1.json">Data File 2</option>
<option value="/test2.json">Data File 3</option>
</select>
<div ng-controller="ServerController" id="server-stats" class="server-stats">
<div ng-repeat="stat in server" class="container" ng-cloak>
<div class="stats-box col-md-2">
<p class="lead">Server Name: {{ stat.serverName }}</p>
</div>
<div class="stats-box col-md-2">
<p class="lead">Response Time: {{ stat.responseTime }}</p>
</div>
<div class="stats-box col-md-2">
<ul>
<p class="lead">Ports</p>
<li><p class="lead">{{ stat.ports.port1 }}</p></li>
<li><p class="lead">{{ stat.ports.port2 }}</p></li>
<li><p class="lead">{{ stat.ports.port3 }}</p></li>
<li><p class="lead">{{ stat.ports.port4 }}</p></li>
<li><p class="lead">{{ stat.ports.port5 }}</p></li>
</ul>
</div>
道歉現在包括代碼
你也許可以,但不能沒有第一次看到您的代碼的幫助。所以請[編輯]你的問題,幷包括你的代碼(創建一個[mcve]) –