Guest User

Untitled

a guest
Feb 11th, 2025
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 0.92 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.  <head>
  4.   <meta charset="UTF-8">
  5.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.   <title>Alpine.js</title>
  7.   <script defer src="https://unpkg.com/alpinejs@3/dist/cdn.min.js"></script>
  8.  </head>
  9.  <body>
  10.  
  11. <button class="increment">
  12.   Увеличить <span class="result"></span>
  13. </button>
  14.  
  15. <script>
  16.  
  17.   document.addEventListener('alpine:init', () => {
  18.     let button = document.querySelector('button.increment');
  19.     let span = document.querySelector('span.result');
  20.     let data = Alpine.reactive({ count: 1 });
  21.  
  22.     let firstRun = false;
  23.  
  24.     Alpine.effect(() => {
  25.  
  26.       if (firstRun) {
  27.         firstRun = true;
  28.  
  29.         alert("Effect запустился!");
  30.  
  31.         span.textContent = data.count;
  32.       }
  33.  
  34.     });
  35.  
  36.     button.addEventListener('click', () => {
  37.       data.count = data.count + 1;
  38.     });
  39.   });
  40.  
  41. </script>
  42.  
  43.  </body>
  44. </html>
Advertisement
Add Comment
Please, Sign In to add comment