我希望比较ng中的两个日期 - 如果这是我的玉文件的样子。
html:
<button ng-if="{{product.experationDate}} < {{CurrentDate}}" type="button>
// do somthing
</button>
javascript:
$scope.CurrentDate = new Date();
和:date_expiration: {type: Date}
但它不起作用! 任何帮助将不胜感激。感谢
答案 0 :(得分:3)
您可以尝试:
<button ng-if="product.experationDate < CurrentDate" type="button>
// do somthing
</button>
在像ng-if这样的Angular指令中,您不需要{{}},因为表达式会以任何方式进行评估。
答案 1 :(得分:2)
不要在模板中执行此类逻辑。这就是您的服务和控制器的用途。您需要在控制器中有一个返回布尔值的方法:
isExpirationExpired(product) {
// your date logic here, recommend moment.js;
return moment(product.experationDate).isBefore(moment(currentdate));
// or without using moment.js:
return product.experationDate.getTime() < currentdate.getTime();
// or using Date
return new Date(product.experationDate).valueOf() < new Date(currentdate).valueOf();
}
你的模板:
ng-if="vm.isExpirationExpired(product)"
答案 2 :(得分:0)
我认为你不能直接比较javascript日期类型。 相反,请执行此操作并删除{{}}
<button ng-if="product.experationDate.getTime() < CurrentDate.getTime()" type="button>
// do somthing
</button>
比较它们的毫秒数。