Angularjs 角度代码中日期范围的按钮组计算不正确

Angularjs 角度代码中日期范围的按钮组计算不正确,angularjs,Angularjs,我有以下按钮组: <div class="btn-group"> <label class="btn btn-primary" data-btn-radio="'CurrentDateMinus3'">{{dateMinus3 | date:'dd'}}</label> <label class="btn btn-primary" data-btn-radio="'CurrentDateMinus2'">{{dateMinus2 |

我有以下按钮组:

<div class="btn-group">
    <label class="btn btn-primary" data-btn-radio="'CurrentDateMinus3'">{{dateMinus3 | date:'dd'}}</label>
    <label class="btn btn-primary" data-btn-radio="'CurrentDateMinus2'">{{dateMinus2 | date:'dd'}}</label>
    <label class="btn btn-primary" data-btn-radio="'CurrentDateMinus1'">{{dateMinus1 | date:'dd'}}</label>
    <label class="btn btn-primary" data-btn-radio="'CurrentDate'">{{date | date:'dd'}}</label>
    <label class="btn btn-primary" data-btn-radio="'CurrentDatePlus1'">{{datePlus1 | date:'dd'}}</label>
    <label class="btn btn-primary" data-btn-radio="'CurrentDatePlus2'">{{datePlus2 | date:'dd'}}</label>
    <label class="btn btn-primary" data-btn-radio="'CurrentDatePlus3'">{{datePlus3 | date:'dd'}}</label>
</div>
我希望按钮组以以下方式显示日期(使用今天的日期并将其设置为中间按钮):

141617181920

但是,当我实现此代码时,我在按钮中得到以下数字:

111417121417


关于我做错了什么,我需要一些建议。据我所知,代码看起来应该可以工作,但显然不行。非常感谢您的帮助。

这是因为每次调用
d.setDate(d.getDate()-1)
时都会重写变量
d
。您需要每次调用
newdate()
,或者找到其他方法。(可能会对您有所帮助)

尝试用另一种方式设置日期,因为您每次都需要一个新的日期

var d = $scope.date = new Date();
var dates = [];
// loop to generate dates from -3 days ago to 3 days plus
for(var i=-3; i<= 3; i++){
     var today = new Date();
     dates.push(today.setDate(today.getDate() + i));
}
console.log(dates); 
var d=$scope.date=新日期();
var日期=[];
//循环生成从-3天前到3天以上的日期
对于(var i=-3;i
var d = $scope.date = new Date();
var dates = [];
// loop to generate dates from -3 days ago to 3 days plus
for(var i=-3; i<= 3; i++){
     var today = new Date();
     dates.push(today.setDate(today.getDate() + i));
}
console.log(dates);