目前我遇到了以下问题,我们正在开发一个表单繁重的应用程序并且想要一个良好的用户体验,所以我们试图停止到处都有一个保存/更新按钮。
目前我们会尝试$watch
每次表单更改,但这将无法正常工作,因为它会在模型更新时更新范围,从而导致十进制/货币值出现问题。
你更喜欢什么?仍然是凌乱的save
按钮,或者像 Gmail 这样的东西?
什么是没有保存按钮的好方法。
/* EDITED */ 目前我们使用这个方法来更新我们的表单。它首先复制对象中的范围,并检查它是否与在拉取日期之后设置的对象相同。
$scope.$watch('task', function(scope) {
console.log($scope.updateForm);
scopeObject = angular.copy(scope);
if(scope !== undefined) {
if(!(_.isEqual(scopeObject, mainObject))){
//scope_copy.request_date = $filter('date')(new Date(scope.request_date), 'fullDate');
console.log('update');
scope.$update({pk: $routeParams.taskId}, function() {
scope.request_date = $filter('date')(scope.request_date);
mainObject = angular.copy(scope);
});
mainObject = angular.copy(scope);
}
}
}, true);
目前我认为这段代码有点混乱,因为它不能更新十进制数字。但目前我没有更好的解决方案。(我不想使用按钮来提交表单,它应该以交互方式完成)。