我想在表单的状态($ invalid)上禁用一个按钮,在我将表单中的所有值设置为null后,我发现如果我写了:console.log('$scope.assignNewForm.$invalid: ' + $scope.assignNewForm.$invalid);
它会将put放为 false ,但如果我写:console.log($scope.assignNewForm);
我可以找到 true 形式的$ invalid属性。这种情况同时发生。
在下面发布了我的代码:
$scope.questionnaireTitleSelected = function(questionnaireTitle) {
$scope.assignForm.recipientType = null;
$scope.assignForm.assigneeName = null;
resetErrorState();
$scope.flags.readOnly = false;
$scope.recipientTypes = _.where($scope.questionnaires, {
questionnaireTitle: questionnaireTitle
});
disabledAssignBtn();
};
function disabledAssignBtn() {
if (!$scope.assignNewForm) {
return;
}
console.log($scope.assignNewForm.$invalid);
console.log($scope.assignNewForm);
$scope.flags.disabledAssignBtn = $scope.assignNewForm.$invalid || $scope.assignedError || $scope.flags.noQuestionnaires;
}
答案 0 :(得分:0)
在您可以在控制台上打开对象之前,对象的$invalid
属性可能已更改。发生这种情况是因为在折叠对象时评估对象的属性。
当您将鼠标悬停在对象上时,对象旁边的i
图标显示为Value below was evaluated just now
。