Angular data-bs-datepicker 指令 + 日期更改
Angular data-bs-datepicker directive + on date change
所以我有一个任务列表。
每个任务都有一个计划开始日期和一个计划结束日期 (plannedStartDate / plannedEndDate)。我使用 ng-repeat 创建我的 table。
我需要一个简单的锚点,点击它会触发一个日期选择器并且:
- 已将开始日期设置为任务的计划开始日期(永远不会为空)
- 绑定到任务的 plannedEndDate,例如,无论何时选择一个值,我都必须以某种方式捕获此事件,以便我可以更新任务的 DB 值 (plannedEndDate)。
- 我必须以以下格式显示日期:dd/mm/yyyy
但是:
- plannedStartDate 和 plannedEndDate 的格式都是这样的:2015-01-01T00:00:00.000
目前,我的日期选择器看起来像:
<a href="#" data-bs-datepicker
data-date-startDate="task.plannedStartDate" data-ng-model="task.plannedEndDate"
data-date-format="dd/mm/yyyy"
data-date-type="string">
{{task | dateIndication}}
</a>
我试过使用和不使用 date-format 和 date-type,但似乎都无济于事。此外,如果我使用它,开始日期会自动设置为今天,即使任务的计划开始日期不是今天。 (我猜这是日期格式问题?)
我试过在任务数组上放一个手表:
$scope.$watch('tasks', function (newVal) { /*...*/ }, true);
(还有一些变体,比如使用 watch collection 等),但什么都没有!
零钱根本抓不到
(另外,dateIndication 过滤器看起来像:
.filter('dateIndication', function () {
return function (task) {
if (task.plannedEndDate) {
var plannedEndDate = moment(task.plannedEndDate);
return plannedEndDate.format('L');
} else {
return messages.dashboard.todosAndTasks.noDueDate();
}
}
})
我非常需要一些帮助。谢谢!
var change;
change = function(date) {
var r;
r = date.match(/^\s*([0-9]+)\s*-\s*([0-9]+)\s*-\s*([0-9]+)(.*)$/);
return r[2] + "-" + r[3] + "-" + r[1] + r[4];
};
使用此函数并在调用函数时传递日期,它将 return 日期选择器的完美格式,它显示得非常好,还有一件事你需要在传递日期之前拆分日期然后它工作很好检查一下,告诉我有什么不同
所以我有一个任务列表。 每个任务都有一个计划开始日期和一个计划结束日期 (plannedStartDate / plannedEndDate)。我使用 ng-repeat 创建我的 table。 我需要一个简单的锚点,点击它会触发一个日期选择器并且:
- 已将开始日期设置为任务的计划开始日期(永远不会为空)
- 绑定到任务的 plannedEndDate,例如,无论何时选择一个值,我都必须以某种方式捕获此事件,以便我可以更新任务的 DB 值 (plannedEndDate)。
- 我必须以以下格式显示日期:dd/mm/yyyy
但是:
- plannedStartDate 和 plannedEndDate 的格式都是这样的:2015-01-01T00:00:00.000
目前,我的日期选择器看起来像:
<a href="#" data-bs-datepicker
data-date-startDate="task.plannedStartDate" data-ng-model="task.plannedEndDate"
data-date-format="dd/mm/yyyy"
data-date-type="string">
{{task | dateIndication}}
</a>
我试过使用和不使用 date-format 和 date-type,但似乎都无济于事。此外,如果我使用它,开始日期会自动设置为今天,即使任务的计划开始日期不是今天。 (我猜这是日期格式问题?)
我试过在任务数组上放一个手表:
$scope.$watch('tasks', function (newVal) { /*...*/ }, true);
(还有一些变体,比如使用 watch collection 等),但什么都没有!
零钱根本抓不到
(另外,dateIndication 过滤器看起来像:
.filter('dateIndication', function () {
return function (task) {
if (task.plannedEndDate) {
var plannedEndDate = moment(task.plannedEndDate);
return plannedEndDate.format('L');
} else {
return messages.dashboard.todosAndTasks.noDueDate();
}
}
})
我非常需要一些帮助。谢谢!
var change;
change = function(date) {
var r;
r = date.match(/^\s*([0-9]+)\s*-\s*([0-9]+)\s*-\s*([0-9]+)(.*)$/);
return r[2] + "-" + r[3] + "-" + r[1] + r[4];
};
使用此函数并在调用函数时传递日期,它将 return 日期选择器的完美格式,它显示得非常好,还有一件事你需要在传递日期之前拆分日期然后它工作很好检查一下,告诉我有什么不同