Sweetalert: Fungsi pada konfirmasi tidak berfungsi

Dibuat pada 10 Okt 2014  ·  9Komentar  ·  Sumber: t4t5/sweetalert

Halo, saya telah menggunakan SweetAlert sebelumnya dengan sukses tetapi hari ini saya mencoba menggunakannya dengan Ionic dan saya memiliki masalah.
Ketika saya menggunakannya seperti ini, ia menjalankan fungsi sesuatu tetapi tidak menunggu tombol konfirmasi untuk ditekan:

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

Ketika saya menggunakannya seperti ini, itu tidak berfungsi sama sekali:

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

Ada ide?

Komentar yang paling membantu

Log konsol seharusnya berfungsi, tetapi untuk berjaga-jaga. Ingat bahwa Angular Anda perlu memanggil $scope.$digest(); jika Anda menggunakan pustaka lain untuk memperbarui tampilan & cakupan.

Jadi jika Anda menggunakan lansiran manis, pastikan panggilan balik Anda terlihat seperti:

$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);

Semua 9 komentar

Saya telah menemukan sesuatu yang serupa di 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
                }
          });

Tampaknya ada hubungannya dengan memilikinya dalam fungsi yang dipanggil dalam ruang lingkup atau hanya memilikinya di callbak tapi apa yang saya tahu :)

Kalau sudah paham akan saya posting di sini. Sepertinya mungkin sesuatu yang serupa terjadi di sini: https://github.com/t4t5/sweetalert/issues/52

Mungkin salah, tetapi sepertinya Anda perlu menghapus parens pada $scope.something() sebagai panggilan balik, seperti

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

Saat Anda menyertakan parens, juru bahasa JS mengeksekusi $scope.something() dan menetapkan hasilnya sebagai panggilan balik, oleh karena itu mengapa tidak menunggu tombol konfirmasi untuk ditekan. Dalam contoh kedua Anda, Anda memasukkan definisi fungsi (sama seperti hanya memasukkan $scope.something tanpa parens) itulah sebabnya itu berhasil.

Terima kasih, tetapi saya sudah mencobanya dan tidak menghasilkan apa-apa

@schris12 periksa ngSweetAlert . mungkin bisa membantu

Log konsol seharusnya berfungsi, tetapi untuk berjaga-jaga. Ingat bahwa Angular Anda perlu memanggil $scope.$digest(); jika Anda menggunakan pustaka lain untuk memperbarui tampilan & cakupan.

Jadi jika Anda menggunakan lansiran manis, pastikan panggilan balik Anda terlihat seperti:

$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 bekerja seperti pesona! Terima kasih!

@oitozero , ngSweetAlert bekerja untuk saya juga. Terima kasih!
Terima kasih @blaiprat juga untuk tip dan membantu memahami masalah ini.

@SeanPlusPlus @ruairitobrien
Luar biasa. :+1:

Baru saja merilis versi baru untuk mencerminkan perubahan sweetalert (0.2.0).

Terimakasih banyak.
Ada sedikit, atau bahkan "tetapi" besar - jika Anda memanggil jendela pemodelan aktif, tombolnya tidak berfungsi.
Tolong beritahu saya bagaimana untuk menyingkirkan momok?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

mateuszjarzewski picture mateuszjarzewski  ·  4Komentar

Lusitaniae picture Lusitaniae  ·  4Komentar

voodoo6 picture voodoo6  ·  4Komentar

krishnamraju picture krishnamraju  ·  3Komentar

AlexV525 picture AlexV525  ·  4Komentar