В нашем файле app.js приложения есть несколько перехватчиков ошибок http.В них есть следующая строка:
$rootScope.$broadcast("sm:serverError", errors);
Директива serverError добавлена в файл layout.html, который используется на всех наших страницах индекса (например, в основных списках).Со страницы индекса мы открываем форму редактирования, а в форме редактирования у нас есть кнопки.У этих кнопок есть
ng-disabled="disableAction"
в коде контроллера, который обрабатывает наше сохранение (и другие действия), мы устанавливаем это свойство в true перед вызовом фактического сохранения (которое является асинхронным вызовом API) и затем возвращаем его обратно вfalse в .then для этого вызова.
Проблема в том, что когда у нас возникает ошибка, которая перехватывается этими перехватчиками и вызывается метод директивы, я бы хотел как-то сбросить disableAction обратно в false.Однако области действия разные, поэтому я не могу понять, как сбросить этот флаг для наших форм.
Возможно, у вас есть идеи о том, что мы можем сделать и есть ли общее решение этой проблемы.Надеюсь, я хорошо объяснил проблему.