Download Alpine.js Essentials Course By Laracasts
Section 1 The Essentials
Let's Build a Memory Game
Before we dig into Alpine, let's first build something simple, but demonstrative of what your typical workflow might look like. Please note that this episode will move a bit more quickly and is not intended to be your "Step 1" for learning Alpine. Just come along for the ride, and then, in the next episode, we'll hit the breaks, rewind, and start learning each piece of the puzzle from scratch.
Let's begin with the basics. Alpine allows us to easily bind the value of an attribute to an expression. In this lesson, we'll review a variety of simple examples.
Toggle Visibility Using State
In this lesson, you'll learn how to toggle an element's display dependent upon on a piece of state. As you'll find, so many of the bread-and-butter components that all websites share can be reduced to a simple on/off switch. Show the modal, hide the modal. Show the tab, hide the tab.
Two-Way Data Binding
You're currently familiar with one-direction data binding; however, often you'll require two-way binding in your forms. It's not enough to bind a value to an input. We also need to listen for when the input's value changes, and update the underlying data. We can allow for this by using x-model. In this episode, we'll review what precisely happens when you add this attribute to a form input. Then, as a small demo, we'll use that data to submit an AJAX request to a fake server.
How and When to Extract Component Logic
Alpine does not require you to store all logic as HTML attribute values. When necessary, you can easily reference a global function that returns an object. Here, you can declare your component's data and behavior separately from the HTML. In this episode, we'll use a basic task app example to discuss how (and when) to extract component logic. We'll also review some important considerations when bundling your code.
Let's move on to transitions. Alpine offers a useful transition modifier that instantly applies a simple opacity and scale fade when toggling the display of an element. However, when you require more precision, you can easily hook into each step of the transition. Let's learn how in this episode before moving on to a real-life use case.
Now that you understand the basic syntax for defining transitions, in this episode, let's add the appropriate transitions for a typical pop-up menu.
Handling Custom Events
Let's move on to events. You already know the basics of how to listen for any DOM events, so let's take things up a notch and discuss how Alpine components can communicate with one another through custom events that bubble up to the window.
Section 2 TodoMVC Workshop
TodoMVC with Alpine: Part 1
The wonderful thing about Alpine stems from the fact that it can be learned entirely within a few hours. With that in mind, together, let's work on an Alpine-specific implementation of the popular TodoMVC project.
In the first of this three-part workshop, we'll get the initial functionality in place. If working along, please download the initial TodoMVC template.
TodoMVC with Alpine: Part 2
Let's keep working on our Alpine.js implementation of TodoMVC. In this episode, we'll focus on filters, clearing completed tasks, and editing individual tasks.
TodoMVC with Alpine: Part 3
It's time to wrap up this project. I've compiled a list of remaining tasks and features we need to complete. Let's knock them out one by one.
DOWNLOAD NOW !