7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

初心者のためのAlpine.js

Posted at

Alpine.jsとは

Alpine.jsは、JavaScriptフレームワークの一つで、VueやReactのようなフレームワークの機能を、より軽量で直感的な形で提供しています。。特に、HTML内に直接JavaScriptのロジックを書くことができるため、学習コストが低く、既存のプロジェクトにも容易に組み込むことができます。

Alpine.jsで何ができるのか

Alpine.jsを使うと、ユーザーのクリックや入力に反応するインタラクティブなウェブページを簡単に作成することができます。例えば、ボタンをクリックするとメニューが表示されたり、テキストを入力するとリアルタイムで結果がフィルタリングされたりします。

Alpine.jsのインストール方法

Alpine.jsのインストールは非常に簡単です。HTMLファイルの<head>タグ内に以下の<script>タグを追加するだけです。

<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>

必要なHTMLファイルの作成

Alpine.jsを使って何かを作り始める前に、まずはHTMLファイルを作成しましょう。例えば、index.htmlという名前で作成することができます。そして、上記の<script>タグを追加します。

Alpine.jsの基本的な機能

x-data、x-on、x-text、x-show、x-model、x-forなどの主要なディレクティブ

Alpine.jsの主要なディレクティブには以下のようなものがあります:

  • x-data:コンポーネントの状態を定義します。ここで定義したデータは、同じ要素内の他のディレクティブからアクセスできます。
  • x-on:特定のイベント(例:クリックやマウスオーバー)に反応して何かを実行します。
  • x-text:要素のテキスト内容を動的に更新します。
  • x-show:要素の表示・非表示を制御します。
  • x-model:フォーム要素の入力と状態を双方向にバインドします。
  • x-for:配列の各要素に対して要素を繰り返し生成します。

実践!Alpine.jsでモーダルを作成しよう

モーダルコンポーネントの作成手順とコードの説明

モーダルは、ウェブページ上に一時的に表示される小さなウィンドウのことを指します。Alpine.jsを使用して、以下のようにモーダルを作成することができます。

<div x-data="{ isOpen: false }">
  <button @click="isOpen = true">Open Modal</button>

  <div x-show="isOpen" @click.away="isOpen = false">
    <h2>Modal Title</h2>
    <p>Modal Content...</p>
    <button @click="isOpen = false">Close Modal</button>
  </div>
</div>

このコードでは、ボタンをクリックするとisOpenの値がtrueになり、モーダルが表示されます。モーダル外をクリックするか、閉じるボタンをクリックするとisOpenの値がfalseになり、モーダルが非表示になります。

実践!Alpine.jsでドロップダウンを作成しよう

ドロップダウンコンポーネントの作成手順とコードの説明

ドロップダウンは、クリックするとメニューが下に展開するUIの一つです。Alpine.jsを使用して、以下のようにドロップダウンを作成することができます。

<div x-data="{ isOpen: false }">
  <button @click="isOpen = !isOpen">Toggle Dropdown</button>

  <div x-show="isOpen" @click.away="isOpen = false">
    <p>Dropdown Content...</p>
  </div>
</div>

このコードでは、ボタンをクリックするとisOpenの値が反転し、ドロップダウンメニューが表示・非表示が切り替わります。

実践!Alpine.jsで検索入力を作成しよう

検索入力コンポーネントの作成手順とコードの説明

Alpine.jsを使用して、ユーザーが入力したテキストに基づいてリストをフィルタリングする検索入力を作成することができます。

<div x-data="{ search: '', items: ['Item 1', 'Item 2', 'Item 3'] }">
  <input x-model="search" placeholder="Search...">

  <template x-for="item in items" :key="item">
    <p x-show="item.includes(search)" x-text="item"></p>
  </template>
</div>

このコードでは、ユーザーがテキストを入力すると、そのテキストに一致するアイテムのみが表示されます。

Alpine.jsの応用

複雑なコンポーネントの作成方法

Alpine.jsのディレクティブを組み合わせることで

、より複雑なコンポーネントを作成することができます。例えば、フォームのバリデーション、タブ切り替え、スライダーなどのコンポーネントを作成することが可能です。

ディレクティブの組み合わせ方

Alpine.jsのディレクティブは、HTML要素に対して特定の動作を追加するためのものです。これらのディレクティブを組み合わせることで、様々な動作を実現することができます。例えば、x-showx-transitionを組み合わせることで、要素の表示・非表示をアニメーション付きで切り替えることができます。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?