Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular.js日期过滤器是否显示前一个月?_Javascript_Html_Angularjs - Fatal编程技术网

Javascript Angular.js日期过滤器是否显示前一个月?

Javascript Angular.js日期过滤器是否显示前一个月?,javascript,html,angularjs,Javascript,Html,Angularjs,因此,查看文档,我不知道如何轻松地添加下个月的内容: {{ item.lastUpdateDay|date : 'MMMM' }} $scope.updateDate = function(){ date.setMonth(date.getMonth() + 1); return $scope.lastUpdateDay = $filter('date')(date, 'MMMM'); } 看起来我应该可以加上(+)或(-)来得到它。因此,如果基于今天的日期,传统上它会显示“九月”,

因此,查看文档,我不知道如何轻松地添加下个月的内容:

{{ item.lastUpdateDay|date : 'MMMM' }}
$scope.updateDate = function(){
  date.setMonth(date.getMonth() + 1);
  return $scope.lastUpdateDay = $filter('date')(date, 'MMMM');
}
看起来我应该可以加上(+)或(-)来得到它。因此,如果基于今天的日期,传统上它会显示“九月”,但我希望它读取该日期并显示下一个月

我错过了什么


非常感谢。

如果您在日期方面有很多工作,我建议您使用moment.js

如果不是,您应该从控制器执行此操作,如下所示:

{{ item.lastUpdateDay|date : 'MMMM' }}
$scope.updateDate = function(){
  date.setMonth(date.getMonth() + 1);
  return $scope.lastUpdateDay = $filter('date')(date, 'MMMM');
}

或者,如果您更喜欢内联方法,可以创建自己的日期过滤器:

angular
   .module('myApp')
   .filter('myDate', myDate);

function myDate($filter){
   return function(date, format){  
   date.setMonth(date.getMonth()+1);
   return $filter('date')(date, format);
  }
}
在模板中:

{{lastUpdateDate | myDate: 'MMMM'}}

别忘了在你自己的过滤器上使用两个字母的前缀(my here…

更新你的日期,如何更新的答案你指的是什么?我也不明白你指的是什么..我想利用这个时刻,但到目前为止,我几乎所有的需求都得到了满足。假设有一种方法,我并没有发现angular可以通过过滤器来实现。此外,此代码位于较大视图的内部模板中,lastUpdateDay是从API中提取的属性。不确定代码背后的内容,但“AngularJS的最佳实践通常表明,您应该编写自己的模型——表示业务域的对象——并将其附加到范围。”,这个变量可能来自API,但您可以通过某种方式到达父控制器(使用$parent)。