角度:如何在控制器中循环遍历 JSON 并在视图中显示

Angular: how to loop through JSON in controller and display in view

本文关键字:JSON 视图 显示 遍历 循环 控制器 角度      更新时间:2023-09-26

我正在学习一个Angular,我被困在一项任务上。我的应用程序中有三个部分,一个视图、服务和控制器,视图如下所示:

<body ng-app="ForecastApp">
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container-fluid">
          <p class="navbar-brand">Week Forecast</p>
      </div>
    </nav>
    <div class="container-fluid"  class="main" ng-controller="MainController">
      <div class="row">
        <div class="col-sm-3 col-md-2 sidebar">
          <h2><span class="label label-info">Search for a City</span></h2>
          <div class="input-group">
            <input type="text" class="form-control" placeholder="City name...">
              <span class="input-group-btn">
            <button class="btn btn-default" type="button">Go!</button>
          </span>
          </div>
        </div>
        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
          <h1 class="page-header">{{ fiveDay.city.name }}</h1>
          <div class="forecast" ng-repeat="day in fiveDay.days">
              </div>
              </div>
        </div>
      </div>
    </div>
</body>

该服务如下所示:

app.factory('forecast', ['$http', function($http) { 
  return $http.get('http://api.openweathermap.org/data/2.5/forecast/city?q=Warsaw&units=metric&mo') 
            .success(function(data) { 
              return data; 
            }) 
            .error(function(err) { 
              return err; 
            }); 
}]);

控制器看起来像这样:

app.controller('MainController', ['$scope', 'forecast', function($scope, forecast) {
  forecast.success(function(data) { 
    $scope.fiveDay = data; 
  });
}]);

本课程的数据取自此处的其余 api http://api.openweathermap.org/data/2.5/forecast/city?q=Warsaw&units=metric&mo

我怎样才能抛出所有这些 json resposne 并显示来自这个 json 的数组"列表"中的所有项目,例如看起来像这样:

日期: "2015-06-12 15:00:00"描述: 《几朵云》温度: 26.82压力: 1015.2

正如我看到它的简单JSON,你可以使用.遍历它,并在需要时提及它index以获取值。

法典

$scope.fiveDays = data.list

标记

<div class="forecast" ng-repeat="day in fiveDays ">
   <div>Date : {{dt|date: 'yyyy-dd-MM'}}</div>
   <div>description: {{weather[0].description}}</div>
   <div>temp: {{main.temp}}</div>
   <div>pressure: {{main.pressure}}</div>
</div>

不同的角度日期筛选器格式