Использование событий x-on Alpine.js в компоненте Astro.js

Я пытаюсь создать несколько простых вещей с помощью Astro.js для шаблонов HTML и Alpine.js для интерактивности, когда это необходимо. Я наткнулся на проблему с попыткой использовать события Alpine x-on на компоненте Astro.

Вот пример использования компонента Button:

        <div x-data>
    <Button @click="console.log('Clicked astro')">Click me</Button>
    <button @click="console.log('Clicked normal button')">Click me</button>
  </div>

Первая не работает, а родная кнопка работает как обычно.

Компонент кнопки — это просто элемент кнопки с некоторыми классами попутного ветра, ничего особенного:

      <button class="border-[1px] rounded-lg transition px-6 py-2 hover:text-inherit hover:border-transparent">
  <slot />
</button>

Как я могу заставить его работать? Мне очень нравится астро с альпийским до сих пор, но эта мелочь мешает мне использовать его для моего проекта.

Я пробовал разные вещи, но ни одна из них не работала. Я просмотрел документы и не смог найти ничего, связанного с моей проблемой - похоже, что должно быть простое решение, но я что-то упускаю.

1 ответ

Я связался со службой поддержки Astro в разногласиях, и там мне ответил пользователь happydev:

Все, что передается астро-компоненту, подобно этому, воспринимается как опора, поэтому вам нужно передать его элементу, к которому вы хотите привязать событие.

Что-то вроде этого

Другие вопросы по тегам