gpt4 book ai didi

javascript - 使用 Angular 按当前日期过滤 JSON 数据

转载 作者:行者123 更新时间:2023-12-03 09:32:33 24 4
gpt4 key购买 nike

我正在尝试使用 Angular 按当前日期过滤 JSON 数据。我看过一些类似的帖子,但我似乎无法正确实现答案。我尝试编写一个自定义过滤器,将 todaytoday 进行比较,其中 today 是保存日期对象的 var 名称,而 doc.date 是我想要的日期条目的 JSON 位置过滤。

我的 JSON 数据如下所示:

var books = 

[
{
"doc":{
"date":"07/14",
"title":"A Nourishing Ingredient",
"quote":"Where humility had formerly stood for a forced feeding on humble pie, it now begins to mean the nourishing ingredient which can give us serenity.",
"attribution":"page 74",
"text":"How often do I focus on my problems and frustrations? When I am having a 'good day' these same problems shrink in importance and my preoccupation with them dwindles. Wouldn't it be better if I could find a key to unlock the 'magic' of my 'good days' for use on the woes of my 'bad days?'. I already have the solution! Instead of trying to run away from my pain and wish my problems away, I can pray for humility! Humility will heal the pain. Humility will take me out of myself. Humility, that strength granted to me by that 'power greater than myself,' is mine for the asking! Humility will bring balance back into my life. Humility will allow me to accept my humanness joyously."
}
},
{
"doc":{
"date":"07/15",
"title":"Pride",
"quote":"Time and again I approached the Seventh Step, only to fall back and regroup. Something was missing and the impact of the Step escaped me. What had I overlooked? A single word: read but ignored, the foundation of all the Steps, indeed the entire Alcoholics Anonymous program – that word is 'humbly.' I understood my shortcomings: I constantly put tasks off; I angered easily; I felt too much self-pity; and I thought, why me? Then I remembered, 'Pride goeth before the fall,' and I eliminated pride from my life."
}
}
]

我的JS:

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;//January is 0, so always add + 1

var yyyy = today.getFullYear();
if(dd<10){dd='0'+dd}
if(mm<10){mm='0'+mm}
today = mm+'/'+dd;
console.log(today);

var myApplication = angular.module('myApp', ['ngColorThis']);

myApplication.controller("Catalog", function ($scope) {

$scope.books = books;


})

.filter('mydate', function() {

return function (doc.date, today) {
return doc.date < today;
};

});

我的html:

<div ng-app="myApp" ng-controller="Catalog">


<div ng-repeat="book in books | mydate" color-this="background-color" data-color="book.doc.title">
<div >
<div class="date">{{book.doc.date}}</div>
<div class="title">{{book.doc.title}}</div>
<div class="quote">{{book.doc.quote}}</div>
<div class="attribution">{{book.doc.attribution}}</div>
<div class="text">{{book.doc.text}}</div>
</div>
</div>

最佳答案

请找到下面的代码。希望这会对您有所帮助。

var myApplication = angular.module('myApp', []);

myApplication.controller("Catalog", function($scope) {
var books = [{
"doc": {
"date": "07/15",
"title": "A Nourishing Ingredient",
"quote": "Where humility had formerly stood for a forced feeding on humble pie, it now begins to mean the nourishing ingredient which can give us serenity.",
"attribution": "page 74",
"text": "How often do I focus on my problems and frustrations? When I am having a 'good day' these same problems shrink in importance and my preoccupation with them dwindles. Wouldn't it be better if I could find a key to unlock the 'magic' of my 'good days' for use on the woes of my 'bad days?'. I already have the solution! Instead of trying to run away from my pain and wish my problems away, I can pray for humility! Humility will heal the pain. Humility will take me out of myself. Humility, that strength granted to me by that 'power greater than myself,' is mine for the asking! Humility will bring balance back into my life. Humility will allow me to accept my humanness joyously."
}
}, {
"doc": {
"date": "07/16",
"title": "Pride",
"quote": "Time and again I approached the Seventh Step, only to fall back and regroup. Something was missing and the impact of the Step escaped me. What had I overlooked? A single word: read but ignored, the foundation of all the Steps, indeed the entire Alcoholics Anonymous program – that word is 'humbly.' I understood my shortcomings: I constantly put tasks off; I angered easily; I felt too much self-pity; and I thought, why me? Then I remembered, 'Pride goeth before the fall,' and I eliminated pride from my life."
}
}]
$scope.books = books;
});

myApplication.filter('mydate', function() {
return function(input) {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0, so always add + 1
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = mm + '/' + dd;
return (input == today)
}
});
<!DOCTYPE html>
<html>

<head>
<script data-require="angular.js@1.4.0" data-semver="1.4.0" src="https://code.angularjs.org/1.4.0/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>

<body>
<div ng-app="myApp" ng-controller="Catalog">
<div ng-repeat="book in books" color-this="background-color" data-color="book.doc.title">
<div ng-show=" book.doc.date | mydate">
<div class="date">{{book.doc.date}}</div>
<div class="title">{{book.doc.title}}</div>
<div class="quote">{{book.doc.quote}}</div>
<div class="attribution">{{book.doc.attribution}}</div>
<div class="text">{{book.doc.text}}</div>
</div>
</div>
</div>
</body>

</html>

建议:应将此类业务逻辑置于服务中,以便在实际情况下获得更好的性能。

关于javascript - 使用 Angular 按当前日期过滤 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com