我正在AngularJS 1.6中开发一个应用程序,使用Giphy.com api。
该视图除其他外显示“导入日期”。参数import_datetime来自API,并且是项特定的。
我很想把日期转换成更方便用户的格式:
<p class="m-0 meta">{{giphy.import_datetime | date : "dd.MM.y" }}</p>不幸的是,这是行不通的。
我的控制器有一个流畅的代码:
app.controller("giphyCtrl", ["$scope", "$http", "$filter", "$timeout", function($scope, $http, $filter, $timeout) {
var url = "https://api.giphy.com/v1/gifs/trending?api_key=PTZrBlrq8h2KUsRMeBuExZ5nHyn7dzS0&limit=240&rating=G";
$scope.giphyList = [];
$scope.search = "";
$scope.filterList = function() {
var oldList = $scope.giphyList || [];
$scope.giphyList = $filter('filter')($scope.giphys, $scope.search);
if (oldList.length != 0) {
$scope.pageNum = 1;
$scope.startAt = 0;
};
$scope.itemsCount = $scope.giphyList.length;
$scope.pageMax = Math.ceil($scope.itemsCount / $scope.perPage);
};
$http.get(url)
.then(function(data) {
// giphy arary
$scope.giphys = data.data.data;
$scope.filterList();
console.log($scope.giphys);
// Paginate
$scope.pageNum = 1;
$scope.perPage = 24;
$scope.startAt = 0;
$scope.filterList();
$scope.currentPage = function(index) {
$("html, body").animate({
scrollTop: 0
}, 500);
$timeout(function() {
$scope.pageNum = index + 1;
$scope.startAt = index * $scope.perPage;
}, 0);
};
$scope.prevPage = function() {
if ($scope.pageNum > 1) {
$scope.pageNum = $scope.pageNum - 1;
$scope.startAt = ($scope.pageNum - 1) * $scope.perPage;
}
};
$scope.nextPage = function() {
if ($scope.pageNum < $scope.pageMax) {
$scope.pageNum = $scope.pageNum + 1;
$scope.startAt = ($scope.pageNum - 1) * $scope.perPage;
}
};
$scope.selectedIndex = null;
$scope.selectedGiphy = null;
$scope.fetchSinglegGiphy = function(giphy, index) {
$scope.selectedIndex = index;
$scope.selectedGiphy = giphy;
}
});
}]);我可能应该从视图中获取import_datetime,将其转换为JavaScript Date对象并在视图中使用它。
问题:
发布于 2019-07-14 15:06:49
您可以创建一个自定义筛选器,该过滤器将解析从pipe格式到JavaScript date对象的日期,并将其输送到AngularJS内置的date筛选器:
var app = angular.module('app', []);
app.filter('dateParse', function() {
return function(date) {
return Date.parse(date);
};
})<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="app">
<p>{{'2019-07-10 14:12:59' | dateParse | date : "dd.MM.y"}}</p>
</div>
https://stackoverflow.com/questions/57028069
复制相似问题