Angularjs 如何获取当前和以前的数据?
我正在使用angular中的日期选择器。它工作正常。但我需要在用户键入“t”或“t”时显示当前或今天的日期。如果用户键入“t-1”,则显示昨天的日期…与用户键入“t+1”时显示明天的日期相同 这是我的密码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(
您要做的是在指令上使用解析器。您的$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;
});
}
}