我有一个AngularJS 1.X应用程序,其中包含从.json文件中检索的日期字段。日期正在从字符串转换为日期对象以订购列表,但我需要捕获"月"分组的日期的一部分,用于单独显示,但无法弄清楚。
这是我的控制器和HTML:
角度控制器:
(function () {
"use strict";
angular.module("xxyyzz")
.controller("displayEventCtrl", displayEventCtrl);
function displayEventCtrl($http) {
var model = this;
model.header = "Upcoming Events";
model.events = [];
$http.get("/App/Data/eventCalendar.json")
.then(function (response) {
model.events = response.data;
console.log(model.events);
});
model.sortDate = function (event) {
var date = new Date(event.date);
return date;
}
}
})();
HTML:
<div ng-controller="displayEventCtrl as model">
<h3><i class="fa fa-calendar"></i> {{model.header}}</h3>
<div class="list-group">
<a href="#" class="list-group-item" ng-repeat="event in model.events | orderBy : -model.sortDate : true track by $index">
<div class="list-group-item-heading">
<h4>{{event.title}}</h4>
</div>
<p class="list-group-item-text">
Tuctus placerat scelerisque.
</p>
<div class="row">
<div class="col-xs-6">
<span class="small">{{event.location}}</span>
</div>
<div class="col-xs-6">
<span class="small pull-right">
{{event.startTime}} - {{event.endTime}}
</span>
</div>
</div>
<div class="row">
<div class="col-xs-9">
<span class="small">{{event.city}}, {{event.state}}</span>
</div>
<div class="col-xs-3">
<span class="small pull-right">{{event.date}}</span>
<div class="clearfix"></div>
</div>
</div>
</a>
</div>
</div>
JSON示例:`
[
{
"id": 1,
"title": "Christmas Parade",
"date": "12/25/2017",
"city": "Dallas",
"state": "TX",
"location": "Galleria Mall",
"startTime": "11:00",
"endTime": "15:00"
},
{
"id": 2,
"title": "Thanksgiving Parade",
"date": "11/23/2017",
"city": "Denver",
"state": "CO",
"location": "Mile High Stadium",
"startTime": "11:00",
"endTime": "15:00"
},
{
"id": 3,
"title": "Halloween Parade",
"date": "10/31/2017",
"city": "Sleepy Hollow",
"state": "NY",
"location": "Ichabod Crane House",
"startTime": "19:00",
"endTime": "21:00"
},
{
"id": 4,
"title": "Independence Day Fireworks",
"date": "07/04/2017",
"city": "Washington",
"state": "DC",
"location": "National Mall",
"startTime": "11:00",
"endTime": "15:00"
}
]
任何帮助都将不胜感激。
答案 0 :(得分:1)
您可以使用命名时刻的js api。注入时刻作为依赖。您可以使用时刻在任何您想要的甲酸盐中获取日期。
时刻().get(&#39;月&#39;);
答案 1 :(得分:0)
要获得月份,请使用getMonth() function
ng-repeat
&#13;
我的问题是我试图从
{{event.date}}
中的数组中提取日期。所以我不能像上面那样声明变量,因为它是返回数组angular.module("app",[]) .filter("toDate", function() { return function(data) { return new Date(data); }; }) .run(function($rootScope) { var vm = $rootScope; vm.Xmas95 = 'December 25, 1995 23:15:30'; })
的一部分。我需要知道的是如何从嵌套项中获取该日期部分。
使用custom filter将文本数据转换为Date object:
<script src="//unpkg.com/angular/angular.js"></script>
<div ng-app="app">
Month number = {{Xmas95 | toDate | date: 'MM'}}
</div>
&#13;
ionic serve
&#13;
有关详细信息,请参阅