Javascript 观察元素的角度值

Javascript 观察元素的角度值,javascript,angularjs,Javascript,Angularjs,我需要创建一个我想要使用的指令,如下所示: <div before-today="old">{{exampleDate}}</div> 您可以尝试以下方法: <div before-today="old" watch-me="exampleDate" >{{exampleDate}}</div> 与其编写自己的自定义指令,为什么不使用Angular的内置指令呢 HTML <div ng-class="{'beforeToday': det

我需要创建一个我想要使用的指令,如下所示:

<div before-today="old">{{exampleDate}}</div>

您可以尝试以下方法:

<div before-today="old" watch-me="exampleDate" >{{exampleDate}}</div>

与其编写自己的自定义指令,为什么不使用Angular的内置指令呢

HTML

<div ng-class="{'beforeToday': detectDate('2013-11-10') }"> text here </div>
ngClass
很棒。传入一个对象,键是要有条件地添加/删除的类,值是要计算的表达式。在这个例子中,我传递了一个函数。但是您也可以内联执行表达式。但是把它放在控制器中会更容易长期维护

angular.module('myApp').directive('beforeToday', [
  function () {
    return {
        restrict: 'A',   
      link: function (scope, element, attr) {


        scope.$watch(attr.watchMe,function(newValue,oldValue){
                //check new value to be what you expect.
             if (newValue){           
                  var date = new Date(element.text());
                  var today = new Date();
                  if (today >= date) {
                    element.addClass(attr.beforeToday);
                  } 
             }
        });
      } 
    };
  }
]);
<div ng-class="{'beforeToday': detectDate('2013-11-10') }"> text here </div>
$scope.detectDate = function(input){
  var date = new Date(input);
  var today = new Date();
  if (today >= date)
     return true;
  else
     return false;
}