Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
Angularjs 如何获取当前和以前的数据?_Angularjs_Angularjs Directive_Angularjs Scope_Angular Ui Router - Fatal编程技术网

Angularjs 如何获取当前和以前的数据?

Angularjs 如何获取当前和以前的数据?,angularjs,angularjs-directive,angularjs-scope,angular-ui-router,Angularjs,Angularjs Directive,Angularjs Scope,Angular Ui Router,我正在使用angular中的日期选择器。它工作正常。但我需要在用户键入“t”或“t”时显示当前或今天的日期。如果用户键入“t-1”,则显示昨天的日期…与用户键入“t+1”时显示明天的日期相同 这是我的密码 您要做的是在指令上使用解析器。您的$watch没有启动的原因是它没有通过验证。试试这样的 .directive('toDateCheck', function($browser) { return { require: 'ngModel', link: function link(

我正在使用angular中的日期选择器。它工作正常。但我需要在用户键入“t”或“t”时显示当前或今天的日期。如果用户键入“t-1”,则显示昨天的日期…与用户键入“t+1”时显示明天的日期相同

这是我的密码


您要做的是在指令上使用解析器。您的$watch没有启动的原因是它没有通过验证。试试这样的

.directive('toDateCheck', function($browser) {

return {
  require: 'ngModel',
  link: function link(scope, element, attr, ngModelCtrl) {
    scope.$watch(attr.ngModel, function(val,l) {
      console.log(val,l);
    });

     ngModelCtrl.$parsers.unshift(function(viewValue){
         if(viewValue === 't-1'){
           var yesterday = new Date();
           yesterday.setDate(yesterday.getDate() - 1);
           // Update the textbox to show the new value
           element.val(yesterday.toLocaleDateString());
           return yesterday;
         }
         return viewValue;
     });
  }
}

})

查看JavaScript日期类以获取当前日期我可以在从日期选择器中选择日期后设置日期。右侧有从日期选择器中选择日期的选项
.directive('toDateCheck', function($browser) {

return {
  require: 'ngModel',
  link: function link(scope, element, attr, ngModelCtrl) {
    scope.$watch(attr.ngModel, function(val,l) {
      console.log(val,l);
    });

     ngModelCtrl.$parsers.unshift(function(viewValue){
         if(viewValue === 't-1'){
           var yesterday = new Date();
           yesterday.setDate(yesterday.getDate() - 1);
           // Update the textbox to show the new value
           element.val(yesterday.toLocaleDateString());
           return yesterday;
         }
         return viewValue;
     });
  }
}