angualr中时间选择器type="datetime-local"只能用value单向绑定,ng-model双向绑定会报错,所以只能手动赋值给对应的数据,而ng-change事件监听不到,测试过后发现onblur失去焦点事件可以监听到,从而根据这个事件来判断时间是否发生变化,下面时代码,可以参考下
<input type="datetime-local" name="" id="date" ng-value="x.time" ng-blur='changetime($event,x)'>`
将数据中的时间格式化,要加大写T,如:2022-02-24 11:02:17=>2022-02-24T11:02:17
for (const i in $scope.data) {
$scope.data[i].time=$scope.data[i].time.replace(' ','T')
}
如果失去焦点则触发该事件
`$scope.changetime=function (e,x) {
// console.log(e.target.value,x);
if(e.target.value!=x.time){
x.time=e.target.value.replace("T",' ')
updatecalendar(x)//后台发送请求改变数据
}
}