Sweetalert: Функция подтверждения не работает

Созданный на 10 окт. 2014  ·  9Комментарии  ·  Источник: t4t5/sweetalert

Здравствуйте, раньше я успешно использовал SweetAlert, но сегодня я попытался использовать его с Ionic, и у меня возникла проблема.
Когда я использую его таким образом, он выполняет функцию something, но не дожидается нажатия кнопки подтверждения:

$scope.something=function(){console.log('test')};
swal({title: 'True',text: '',type: 'success',confirmButtonText: 'Next' },$scope.something());

Когда я использую это так, он вообще не работает:

swal({title: 'True',text: '',type: 'success',confirmButtonText: 'Next' },function(){console.log('test')});

Любые идеи?

Самый полезный комментарий

Журнал консоли должен работать, но на всякий случай. Помните, что в Angular вам нужно вызвать $ scope. $ Digest (); если вы используете другие библиотеки для обновления представлений и областей видимости.

Поэтому, если вы используете сладкое оповещение, убедитесь, что ваш обратный вызов выглядит так:

$scope.something=function(){
  console.log('test');
  // You might have something that updates your scope here
  ...
  $scope.$digest();
};
swal({
    title: 'True',
    text: '',
    type: 'success',
    confirmButtonText: 'Next' 
  }, $scope.something);

Все 9 Комментарий

Я наткнулся на нечто подобное в angular.

$scope.deleteSomething = function () {
    swal({   title: 'Are you sure?', text: 'Your will not be able to recover this thing!',
                type: 'warning',
                showCancelButton: true, confirmButtonColor: '#DD6B55',
                confirmButtonText: 'Yes, delete it!', closeOnConfirm: false },
                function () {
                    // Code to delete something
                    swal('Deleted!', 'It was deleted.', 'success');
                   // The success alert only shows for a split second and is gone
                }
          });

Кажется, что-то связано с тем, что он находится в функции, вызываемой в области видимости, или просто имеет его в callbak, но что я знаю :)

Если разберусь, опубликую здесь. Похоже, здесь происходит что-то подобное: https://github.com/t4t5/sweetalert/issues/52

Возможно, вы ошибаетесь, но похоже, что вам нужно удалить скобки в $ scope.something () в качестве обратного вызова, например

swal({title: 'True',text: '',type: 'success',confirmButtonText: 'Next' },$scope.something);

Когда вы включаете скобки, интерпретатор JS выполняет $ scope.something () и назначает результат как обратный вызов, поэтому он не ждет нажатия кнопки подтверждения. Во втором примере вы передаете определение функции (так же, как просто передаете $ scope.something без скобок), поэтому это работает.

Спасибо, но я уже пробовал это, но ничего не делает

@ schris12 проверьте ngSweetAlert . может это может помочь

Журнал консоли должен работать, но на всякий случай. Помните, что в Angular вам нужно вызвать $ scope. $ Digest (); если вы используете другие библиотеки для обновления представлений и областей видимости.

Поэтому, если вы используете сладкое оповещение, убедитесь, что ваш обратный вызов выглядит так:

$scope.something=function(){
  console.log('test');
  // You might have something that updates your scope here
  ...
  $scope.$digest();
};
swal({
    title: 'True',
    text: '',
    type: 'success',
    confirmButtonText: 'Next' 
  }, $scope.something);

@oitozero - ngSweetAlert работает как шарм! Благодарность!

@oitozero , ngSweetAlert у меня тоже работал. Спасибо!
Спасибо @blaiprat за подсказку и помощь в понимании проблемы.

@SeanPlusPlus @ruairitobrien
Потрясающие. : +1:

Только что выпущена новая версия, отражающая изменения в sweetalert (0.2.0).

Большое спасибо.
Есть небольшое или даже большое «но» - при вызове активного окна моделирования кнопки не работают.
Подскажите пожалуйста, как избавиться от напасти?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

mouro001 picture mouro001  ·  3Комментарии

girishbr picture girishbr  ·  5Комментарии

waldyrious picture waldyrious  ·  5Комментарии

xgqfrms-GitHub picture xgqfrms-GitHub  ·  4Комментарии

Lusitaniae picture Lusitaniae  ·  4Комментарии