【问题标题】:Angular: how to loop through JSON in controller and display in viewAngular:如何在控制器中循环 JSON 并在视图中显示
【发布时间】:2015-06-12 17:30:54
【问题描述】:

我正在学习 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; 
  });

}]);

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

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

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

【问题讨论】:

标签: javascript jquery arrays json angularjs


【解决方案1】:

当我看到它的简单 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>

不同的angular date filter format

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    相关资源
    最近更新 更多