我是angularJS的新手,现在我想如何从当前日期添加年份。
让我说我可以获得用户DOB,我想添加年份+ 1.
我尝试过使用
$scope.userdob = $rootScope.user.dob;
$scope.userdob.add(1,'years');
但它不起作用。
有人可以通过示例帮助我了解这个逻辑吗?
TIA ...,
答案 0 :(得分:2)
您应该使用.setDate()
函数来增加日期。
我在这里创建了一个角度示例http://codepen.io/heshamelghandour/pen/WwodMP
答案 1 :(得分:1)
看起来$rootScope.user.dob
是来自moment
库的moment.js
的实例。我认为你的主要问题是当你改变这个实例时,angular的变化检测无法检测到。因为实例保持不变,但内部基础日期值确实发生了变化。因此,我建议:
$scope.userdob = $rootScope.user.dob.clone().add(1,'years').valueOf();
这样,angular将获得一个常规的JavaScript Date对象而不是一个片刻实例,它的更改检测将正常工作。
仅供参考,您可以使用标准的javascript Date实例完成相同的操作:
var userdob = new Date();
userdob.setYear(userdob.getFullYear() + 1)
将年份推进1。
答案 2 :(得分:-1)
使用.setDate()
功能增加天数,而不是+1天,并添加+365天,它会在1年后为您提供日期。