如何以json格式存储日期,并在给定范围内逐个显示
How to store dates in json format and display them one by one for a given range?
我是angularjs的新手,我正在尝试以json格式存储日期,并以列表方式显示。
这里,我希望minDate是用户给出的日期,maxDate是当前日期。
我想通过"for"循环显示从minDate到maxDate的日期,其中日期递增1,我们是否也需要一个函数来计算天数?
HTML
<div ng-app='myApp' ng-controller="Main">
<input type="date" ng-model="min">
<li ng-repeat="n in range(min,max)">{{dt.date | date}}</li>
</div>
控制器
myApp.controller('Main', function ($scope){
$scope.max = new Date();
$scope.date = [];
$scope.range = function(min, max){
for (var i = min; i <= max; i ++) {
date.setDate(date.getDate() + i);
$scope.date.push({
dt: $scope.date
});
return date;
}
};
输出应类似
Date 1:
07/20/2016
Date 2:
07/24/2016
Day difference = n
Day 1=20 July.2016
Day 2=21 July.2016
Day 3=22 July.2016
Day 4=23 July.2016
Day 5=24 July.2016
我不会在ng repeat中使用函数,因为它将在每个摘要循环中调用。相反,只在您的最小日期更改时调用该函数。下面是它的样子:
控制器
myApp.controller('Main', function($scope) {
$scope.min = new Date();
$scope.max = new Date();
$scope.dateRange = [];
$scope.getDateRange = function() {
$scope.dateRange = [{
dt: angular.copy($scope.min)
}];
for (var thisDate = $scope.min; thisDate < $scope.max;) {
thisDate.setDate(thisDate.getDate() + 1);
$scope.dateRange.push({
dt: angular.copy(thisDate)
});
}
};
});
HTML
<div ng-controller="Main">
<input type="date" ng-model="min" ng-change="getDateRange()">
<li ng-repeat="d in dateRange">{{ d.dt | date}}</li>
</div>
你可以在这里看到它的工作
相关文章:
- Angularjs无法将单选按钮与嵌套范围内的模型绑定
- 如何使用D3生成特定范围内的随机颜色
- 将自定义css保持在角度范围内
- Angular JS-文本框未在独立范围内更新
- cookie不在网站范围内
- 获取给定JavaScript范围内的解析函数
- 如何在JavaScript中使用此函数对范围内的所有数字求和
- JavaScript-仅验证数值并且在范围内
- 选择随机图像,检查是否在特定范围内并相应显示
- jQuery:检索日期选择器日期,检查是否在日期范围内,显示/隐藏字段
- 自定义 Angular 日期范围过滤器,以仅显示该日期范围内的项目
- 使用 javascript 获取仅在日期范围内显示的数据
- AngularJS - 显示/隐藏根范围内的元素
- 角度 ng 显示日期在时间范围内或不从
- 当数字在范围内时显示特定图像
- 修改Meteor-React待办事项列表示例,显示一个时间范围内创建的列表项
- UI滑块:将可用值突出显示到范围内
- 高亮显示鼠标在某个范围内的位置
- HTML5/JS地理定位只显示一定半径范围内的帖子
- 如何以json格式存储日期,并在给定范围内逐个显示