Javascript 我如何在课堂上比较日期
我有以下代码Javascript 我如何在课堂上比较日期,javascript,angularjs,Javascript,Angularjs,我有以下代码 <div ng-class"{'has-error': myInputForm.$valid}"> ...other stuff.... </div> ……其他东西。。。。 我喜欢这种验证,上面的代码也很有效。我想做的是比较两个日期值,所以它看起来像这样 <div ng-class"{'has-error': myStartDate < eventStartDate}"> ...other stuff.... </div
<div ng-class"{'has-error': myInputForm.$valid}">
...other stuff....
</div>
……其他东西。。。。
我喜欢这种验证,上面的代码也很有效。我想做的是比较两个日期值,所以它看起来像这样
<div ng-class"{'has-error': myStartDate < eventStartDate}">
...other stuff....
</div>
……其他东西。。。。
这不起作用,这也不起作用,但如果能起作用就好了
<div ng-class"{'has-error': moment(myStartDate).isBefore(eventStartDate)}">
...other stuff....
</div>
……其他东西。。。。
我可以创建一个函数来返回基于参数的类
<div ng-class"getClass(myStartDate,eventStartDate)">
...other stuff....
</div>
……其他东西。。。。
但是我还有其他需要检查的东西,所以我想在线做这个。让我知道你有什么想法,并提前表示感谢。不要忘记在
ng class
之后的等号
您得到了ng类“{'has-error”:myStartDate
。它应该是ng class=“{'has-error”:myStartDate
。=
非常重要
另外,确保你的日期是真正的日期,而不是字符串
这里有一个适合我的小演示页面。您可以向下调整我的开始日期,并查看应用了has error类
祝你好运
<!doctype html>
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script>
angular.module('myApp', [])
.controller('MyController', ['$scope', function($scope) {
$scope.myStartDate = new Date(2015, 6, 29);
$scope.eventStartDate = new Date(2015, 6, 28);
}]);
</script>
<style> .has-error { background-color: red; } </style>
</head>
<body>
<form ng-controller="MyController">
<label for="start-in">My Start Date</label>
<input id="start-in" type="date" ng-model="myStartDate">
<label for="event-in">Event Start Date</label>
<input id="event-in" type="date" ng-model="eventStartDate">
<div ng-class="{'has-error': myStartDate < eventStartDate}">
{{myStartDate | date: "MM/dd/yyyy"}} -- {{eventStartDate | date: "MM/dd/yyyy"}}
</div>
</form>
</body>
</html>
angular.module('myApp',[])
.controller('MyController',['$scope',函数($scope){
$scope.myStartDate=新日期(2015年6月29日);
$scope.eventStartDate=新日期(2015年6月28日);
}]);
.出现错误{背景色:红色;}
我的开始日期
活动开始日期
{myStartDate | date:“MM/dd/yyyyy”}--{{eventStartDate | date:“MM/dd/yyyy”}
如果你有“其他东西”,那么把它们都放在JS的函数中,而不是把HTML代码弄得乱七八糟,不是更有意义吗?不管你理论上能做什么,这都是我的答案。第三是一个很好的方法。将表达式作为方法保留在控制器中会更有意义。因为这些方法可以很容易地测试单元测试用例。检查不应该内联完成,它们属于javascript。检查应该在JS中,并且应该基于这些检查分配属性。然后该属性将决定在ng类中分配哪个类。@PankajParkar,为什么第三个是最好的?这些检查不应该在JS中完成吗?@SoluableNonagon使html在某种意义上更具可读性..而不是在html上编写整个代码..在JS端执行表达式/比较,因为控制器代码可以使用单元测试进行测试,以确保其质量和功能。。。