Laravel Livewire | Click Event Example
Here, I will give you a very simple example of a click event in laravel livewire. we will take two buttons and call two functions of the livewire class. one will be simple and another will be with argument. you can easily do click event with laravel 6, laravel 7, and laravel 8 versions.
Step 1: Install Laravel
first of all, we need to get a fresh Laravel version application using bellow command, So open your terminal OR command prompt and run bellow command:
composer create-project --prefer-dist laravel/laravel blog
Step 2: Install Livewire
now in this step, we will simply install livewire to our laravel application using the below command:
composer require livewire/livewire
Step 3: Create Component
Now here we will create a livewire component using their command. so run the below command to create clickEvent component.
php artisan make:livewire clickEvent
Now they created files on both paths:
app/Http/Livewire/ClickEvent.phpresources/views/livewire/click-event.blade.php
Now both files we will update as below for our contact us form.
app/Http/Livewire/ClickEvent.php
<?phpnamespace App\Http\Livewire;use Livewire\Component;class ClickEvent extends Component{public $message = '';public $user_id = 42;/*** Write code on Method** @return response()*/public function render(){return view('livewire.click-event')->extends('layouts.app');}/*** Write code on Method** @return response()*/public function callFunction(){$this->message = "You clicked on button";}/*** Write code on Method** @return response()*/public function callFunctionArg($user_id){$this->message = $user_id;}}
resources/views/livewire/click-event.blade.php
<div><button type="button" wire:click="callFunction" class="btn btn-danger">Click Me</button><button type="button" wire:click="callFunctionArg({{$user_id}})" class="btn btn-danger">Click Me!</button><p>{{ $message }}</p></div>
Step 4: Create Route
now we will create one route for calling our example, so let’s add a new route to web.php file as below:
<?phpuse Illuminate\Support\Facades\Route;
use App\Http\Livewire\ClickEvent;Route::get('click-event', ClickEvent::class);
Step 5: Create View File
here, we will create a blade file for the call form route. in this file, we will use @livewireStyles, @livewireScripts. so let’s add it.
resources/views/layouts/app.blade.php
<!DOCTYPE html><html><head><title>Laravel Livewire Example - raviyatechnical</title>@livewireStyles<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script><link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"><script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script></head><body><div class="container">@yield('content')</div></body>@livewireScripts</html>
Now you can run using the below command:
php artisan serve
Open bellow URL:
localhost:8000/click-event