Привязка Angularjs не обновляется после нажатия подтверждения - PullRequest
0 голосов
/ 25 мая 2018

Я только начал изучать ng1 после того, как принял работу по обслуживанию и улучшению собственного приложения.

Я обнаружил ряд случаев, когда значения в таблице не обновляются после нажатия кнопки подтверждения (вместо этого сбрасывается на ноль в некоторых случаях.) Однако они обновляются в консоли.Кроме того, после сброса значений на ноль, когда вы обновляете входные значения еще раз, поля немедленно возвращают свои правильные значения.

Решение, к которому пришел мой предшественник, состоит в использовании отключенных входов для значений, поскольку они корректно обновляются,Однако это хак, и мой босс хотел бы, чтобы я его исправил.

Более подробный пример проблемы приведен ниже:

 coeficienteFactory.saveProjectCoeficient(vm.id_project, vm.coeficient)
            .then(function succesCallback(response) {

                console.log('true!!!');
                vm.confirm = true;
                setTimeout(function(){ vm.confirm = false; console.log("disappears!!!")}, 2000);

            }).catch(function errorCallback(response) {  
                console.log(response)
            });

Приведенный выше пример вызовет vm.confirm и сообщение об успехе появится в представлении через ng-show.Однако через две секунды сообщение «исчезает» появится в консоли, но подтверждающее сообщение не отвечает соответствующим образом в представлении ...

Это явно фундаментальное недоразумение с моей стороны, и это то, что у меня естьучиться быстро!

Любая помощь будет высоко ценится.Спасибо.

1 Ответ

0 голосов
/ 25 мая 2018

Вам необходимо использовать версию Angular - $timeout - которая вызывает цикл дайджеста.Измените:

setTimeout(function(){ vm.confirm = false; console.log("disappears!!!")}, 2000);

На:

$timeout(() => {
    vm.confirm = false;
    console.log('disappears!!!');
}, 2000);

Обязательно также введите $timeout в ваш контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...