Ce este nou în Livewire v3 Laravel Framework?

Ce este nou în Livewire v3 Laravel Framework?

Laravel Livewire este un instrument excelent pentru a obține un comportament dinamic pe o pagină web, fără a scrie direct cod JavaScript. Face construirea interfețelor dinamice simplă, fără a părăsi confortul Laravel. Recent, nucleul Livewire a fost complet rescris.





Noul Livewire v3 are o diferență mai bună, funcțiile pot fi construite mai rapid și există mai puțină dublare între Livewire și Alpine, deoarece se bazează mai mult pe Alpine și folosește Morph, History și alte plugin-uri. Câteva dintre noile funcții au fost posibile și prin restructurarea bazei de cod și punând un accent mai mare pe Alpine.





cum se conectează controlerul la Xbox One
REALIZAREA VIDEOCLIPULUI ZILEI

1. Injectați automat scripturi, stiluri și Alpine Livewire

După ce compozitorul instalează Livewire v2, trebuie să adăugați manual @livewireStyles, @livewireScripts și Alpine la aspectul dvs. Cu Livewire v3, trebuie doar să instalați Livewire și tot ceea ce aveți nevoie este injectat automat - inclusiv Alpine!





<!DOCTYPE html> 
<html lang="en">
<head>
<script src="//unpkg.com/alpinejs" defer></script>
@livewireStyles @livewireScripts
</head>
<body>
...
</body>
</html>

2. Funcții JavaScript în clasele PHP

Livewire v3 va accepta scrierea funcțiilor JavaScript direct în componentele Livewire de backend. Adăugați o funcție la componenta dvs., adăugați un /\*_ @js _/ comentariu deasupra funcției, apoi returnați un cod JavaScript folosind sintaxa PHP HEREDOC și apelați-l de pe front-end. Codul JavaScript va fi executat fără a trimite nicio solicitare către backend.

cum să aflu cine mă sună gratis
<?php 
namespace App\Http\Livewire;
class Todos extends \Livewire\Component
{
/** @prop */
public $todos;
/** @js */
public function clear()
{
return <<<'JS'
this.todo = '';
JS;
}
}
?>
<div>
<input wire:model="todo" />
<button wire:click="clear">Clear</button>
</div>

3. Proprietăți blocate

Livewire v3 va suporta proprietăți blocate - proprietăți care nu pot fi actualizate din frontend. Adăugați un /\*\* @locked / comentariu deasupra unei proprietăți de pe componenta dvs. și Livewire va lansa o excepție dacă cineva încearcă să actualizeze acea proprietate de pe front-end.



<?php 
namespace App\Http\Livewire;
class Todos extends \Livewire\Component
{
/** @locked */
public $todos = [];
}
?>

4. Sârmă: modelul este amânat implicit

Pe măsură ce Livewire și utilizarea sa au evoluat, ne-am dat seama că comportamentul „amânat” are mai mult sens pentru 95% dintre formulare, așa că în v3 funcționalitatea „amânată” va fi implicită. Acest lucru va economisi pe solicitările inutile care ajung la serverul dvs. și va îmbunătăți performanța. Când aveți nevoie de funcționalitatea „live” pe o intrare, puteți utiliza wire:model.live pentru a activa această funcționalitate.