AngularJS如何添加+;1到返回日期的函数

AngularJS如何添加+;1到返回日期的函数,angularjs,momentjs,Angularjs,Momentjs,我有一个标题中有5个单元格的表格,每个单元格对应一周(例如:第01周、第02周等等) 在第一个单元格中,一周如下所示: <div class="monthCells">Week {{vm.selectedPeriod}}</div> 它始终返回所选月份第一周的编号, 用户可以使用日期选择器从一个月转到另一个月,在表中它将显示该月的周数 展示其他4周的最佳方式是什么? 因为我只得到第一周的数字,所以我应该在其他4个单元格中输入什么 我在考虑一个计数器,所以它会给我得到的数

我有一个标题中有5个单元格的表格,每个单元格对应一周(例如:第01周、第02周等等)

在第一个单元格中,一周如下所示:

<div class="monthCells">Week {{vm.selectedPeriod}}</div>
它始终返回所选月份第一周的编号, 用户可以使用日期选择器从一个月转到另一个月,在表中它将显示该月的周数

展示其他4周的最佳方式是什么? 因为我只得到第一周的数字,所以我应该在其他4个单元格中输入什么

我在考虑一个计数器,所以它会给我得到的数字加上+1:

return moment.utc(this.date).format("WW");
但问题是,这不会在ng repeat中出现,但表头是静态的,所以我考虑的一个解决方案是在5个标题单元格中放置类似的内容:

{{vm.selectedPeriod}}
{{vm.selectedPeriod +1}}
{{vm.selectedPeriod +2}}
{{vm.selectedPeriod +3}}
{{vm.selectedPeriod +4}}
因此,当用户切换月份时,每个星期的数字都是正确的,但它不起作用,因为我从函数中获取了一个字符串,并且不知道如何使用momentJS在该函数中解析它

{{vm.date | amDateFormat : 'WW'}} 
{{vm.date | amAdd : '1' : 'w' | amDateFormat : 'WW'}}
{{vm.date | amAdd : '2' : 'w' | amDateFormat : 'WW'}}
如果有人对我的想法有一个解决方案,或者如果有更好的方法来实现这一点,请让我知道

编辑解决方案:

最后,我找到了一个只使用momentJS的解决方案

{{vm.date | amDateFormat : 'WW'}} 
{{vm.date | amAdd : '1' : 'w' | amDateFormat : 'WW'}}
{{vm.date | amAdd : '2' : 'w' | amDateFormat : 'WW'}}

我会使用一个简单而智能的过滤器来实现这一点,就像我在这个>中创建的那样:

看法
完整的解决方案,包括:
selectedPeriod
scope和datepicker >

看法
嘿,谢谢你的回答,我正在尝试实现它,看看它是否有效,但我有一些问题,我对angularJS非常陌生,我在做一个新项目的时候学习它,我的控制器布局有点不同,你能帮我“翻译”控制器的代码吗?我想我使用的是angularJS的旧版本。我的控制器是这样构造的:
export类TableDateController{static$inject:Array=[“date”,
这里我声明要在控制器中注入什么,下面我得到了:
构造函数(私有日期:number
这里我有了构造函数部分,然后在第2部分之后,在“解析”部分之前,我放入了函数。很抱歉格式化,但是我在这个注释中遇到了格式化问题。@AJ989你能不能创建一个提琴让我看看?忘了把我写的所有东西都包装在这里面:
module App.Controllers{export interface xxxxx extends ok离开午餐,稍后如果您不理解我的要求,我可以创建一个,
<div ng-controller="MyCtrl">
  <div class="monthCells">Week {{currentDate|dateWeekFilter:0}}</div>
  <div class="monthCells">Week {{currentDate|dateWeekFilter:1}}</div>
  <div class="monthCells">Week {{currentDate|dateWeekFilter:2}}</div>
  <div class="monthCells">Week {{currentDate|dateWeekFilter:3}}</div>
</div>
var myApp = angular.module('myApp',[]);

myApp.controller('MyCtrl', function ($scope) {
    $scope.currentDate = moment.utc();
});

myApp.filter('dateWeekFilter', function () {
    return function (date, weeksToAdd) {
      return moment(date).add(weeksToAdd, 'w').format("WW");
    }
});
<div ng-controller="MyCtrl">
  <datepicker>
    <input ng-model="datePickerDate" ng-change="dateChanged()" type="text"/>
  </datepicker>
  <div class="monthCells">Week {{currentDate|dateWeekFilter:selectedPeriod}}</div>
  <div class="monthCells">Week {{currentDate|dateWeekFilter:selectedPeriod+1}}</div>
  <div class="monthCells">Week {{currentDate|dateWeekFilter:selectedPeriod+2}}</div>
  <div class="monthCells">Week {{currentDate|dateWeekFilter:selectedPeriod+3}}</div>
</div>
var myApp = angular.module('myApp',['720kb.datepicker']);

myApp.controller('MyCtrl', function ($scope) {

        //Init
    $scope.currentDate = moment.utc();
    $scope.datePickerDate = $scope.currentDate.toDate();
    $scope.selectedPeriod = 0;

    //date change handling
    $scope.dateChanged = function () {
         $scope.currentDate = moment.utc($scope.datePickerDate);
    }

});

myApp.filter('dateWeekFilter', function () {
    return function (date, weeksToAdd) {
      return moment(date).add(weeksToAdd, 'w').format("WW");
    }
});