Sweetalert: ํ™•์ธ ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2014๋…„ 10์›” 10์ผ  ยท  9์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: t4t5/sweetalert

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” ์ด์ „์— SweetAlert๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ์˜ค๋Š˜์€ Ionic๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด ๋ณด์•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌด์–ธ๊ฐ€ ๊ธฐ๋Šฅ์ด ์‹คํ–‰๋˜์ง€๋งŒ ํ™•์ธ ๋ฒ„ํŠผ์ด ๋ˆŒ๋ฆด ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

$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 ๋Œ“๊ธ€

๋‚˜๋Š” ๊ฐ๋„์—์„œ ๋น„์Šทํ•œ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

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

๋ฒ”์œ„์—์„œ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์— ํฌํ•จํ•˜๊ฑฐ๋‚˜ ์ฝœ๋ฐฑ์— ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋‚ด๊ฐ€ ๋ฌด์—‡์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? :)

๋‚ด๊ฐ€ ๊ทธ๊ฒƒ์„ ์•Œ์•„ ๋‚ด๋ฉด ์—ฌ๊ธฐ์— ๊ฒŒ์‹œ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. 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 ๋“ฑ๊ธ‰