Мне нужно ввести задержку 2 секунды, когда пользователь нажимает кнопку сохранения в угловом

0

У меня есть следующий код, когда пользователь нажимает кнопку "Сохранить", он ничего не должен делать, а просто изменяет текст этой кнопки для сохранения, а затем отключается. Я достиг этого с помощью двух кнопок и кода контроллера следующим образом.

Проблема заключается в том, что она отображает кнопку сохранения только на секунду, когда я нажимаю на сохранение при загрузке сохраненной кнопки, а затем кнопка сохранения исчезает (просто мерцает), я не хочу, чтобы это произошло. Что не так? Кроме того, как я могу ввести 2-секундную задержку, а затем показать кнопку "Сохранить".

    <button type="button" id="saveEnabled"  ng-click="ctrl.onClick()" ng-if="ctrl.Status !== 'Clicked'">Save</button>
    <button type="button" id="saveDisabled" disabled="disabled" ng-if="ctrl.Status === 'Clicked'">Saved</button>


ctrl.onClick = function() {
      ctrl.Status = 'Clicked';
  };
Теги:
angularjs-scope
angularjs-directive
angular2-directives

2 ответа

1

Поскольку вы используете Angular, используйте его функцию time time time.

ctrl.onClick = function() {
 $timeout(
   function(){
      ctrl.Status = 'Clicked';
   }, 2000);
};

Примечание: вам нужно ввести $ timeout как dependecy, но setTimeout() также будет достаточным

  • 0
    Барк, извините, это не сработало, но это сработало ctrl.onClick = function () {$ window.setTimeout (function () {$ scope. $ Apply (function () {ctrl.Status = 'Clicked';}); }, 3000);}
  • 0
    Тем не менее, у меня все еще есть проблема с тем, что эта идиотская кнопка сохранения мерцает :( Как остановить это мерцающее нажатие кнопки «Сохранить». Я имею в виду, кнопка «Сохранить» также появляется, когда вы нажимаете кнопку «Сохранить», а затем она исчезает в доли секунды. не хочу этого плохого опыта для пользователя
Показать ещё 2 комментария
0

Вы можете использовать setTimeout()

var delay=2000;//2 second

setTimeout(function() { //your code to be executed after 2 second }, delay);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню