我有一个网页,它充当单个实体的编辑器,它位于$scope.fieldcontainer属性中,是一个很深的图形。在我的REST API (通过$resource)得到响应后,我向'fieldcontainer‘添加了一个监视。我正在使用这个手表来检测页面/实体是否“脏”。现在,我正在使保存按钮弹出,但实际上我想让保存按钮不可见,直到用户弄脏模型。
我得到的是手表的单个触发器,我认为发生这种情况是因为.fieldcontainer = ...分配在我创建手表后立即发生。我正在考虑只使用一个"dirtyCount“属性来吸收最初的错误警报,但这感觉非常麻烦……我认为必须有一种“角度惯用”的方式来处理这个问题--我不是唯一一个使用手表来检测脏模型的人。
下面是我设置手表的代码:
$scope.fieldcontainer = Message.get({id: $scope.entityId },
function(message,headers) {
$scope.$watch('fieldcontainer',
function() {
console.log("model is dirty.");
if ($scope.visibility.saveButton) {
$('#saveMessageButtonRow').effect("bounce", { times:5, direction: 'right' }, 300);
}
}, true);
});
我只是一直在想,一定有一种更干净的方式来做这件事,而不是用"if (dirtyCount >0)“来保护我的"UI脏”代码……
https://stackoverflow.com/questions/16947771
复制相似问题