1
0

index.html 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <html>
  2. <!-- <script src="./packages/intersect/dist/cdn.js" defer></script>
  3. <script src="./packages/morph/dist/cdn.js" defer></script>
  4. <script src="./packages/history/dist/cdn.js"></script>
  5. <script src="./packages/persist/dist/cdn.js"></script>
  6. <script src="./packages/focus/dist/cdn.js"></script>
  7. <script src="./packages/mask/dist/cdn.js"></script>
  8. <script src="./packages/ui/dist/cdn.js" defer></script> -->
  9. <script src="./packages/alpinejs/dist/cdn.js" defer></script>
  10. <!-- <script src="//cdn.tailwindcss.com"></script> -->
  11. <script src="//cdn.tailwindcss.com"></script>
  12. <div x-data="{ users: [{ name: 'lebowski' }] }">
  13. <template x-for="(user, idx) in users">
  14. <span x-text="users[idx].name" x-yo></span>
  15. </template>
  16. <button @click="users = []">Reset</button>
  17. </div>
  18. <!-- Play around here... -->
  19. <div x-data>
  20. <div id="thing" x-yo>i do not belong here...</div>
  21. <br>
  22. <br>
  23. <br>
  24. <br>
  25. <button @click="document.getElementById('thing').remove()">remove</button>
  26. </div>
  27. <script>
  28. document.addEventListener('alpine:init', () => {
  29. Alpine.directive('yo', (el, {}, { cleanup }) => {
  30. cleanup(() => {
  31. console.log('removed')
  32. })
  33. })
  34. })
  35. </script>
  36. <div x-data="{ users: [{ name: 'lebowski' }] }">
  37. <template x-for="(user, idx) in users">
  38. <span x-text="users[idx].name" x-yo></span>
  39. </template>
  40. <button @click="users = []">Reset</button>
  41. </div>
  42. </html>