Hvad er nyt i Livewire v3 Laravel Framework?

Hvad er nyt i Livewire v3 Laravel Framework?

Laravel Livewire er et fantastisk værktøj til at opnå dynamisk adfærd på en webside uden direkte at skrive JavaScript-kode. Det gør det nemt at bygge dynamiske grænseflader uden at forlade Laravels komfort. For nylig er Livewire-kernen blevet fuldstændig omskrevet.





Den nye Livewire v3 har bedre differentiering, funktioner kan bygges hurtigere, og der er mindre duplikering mellem Livewire og Alpine, fordi den er mere afhængig af Alpine og bruger dens Morph, History og andre plugins. Flere af de nye funktioner blev også muliggjort ved at omstrukturere kodebasen og lægge større vægt på Alpine.





hvordan finder man datoen for en artikel
MAKEUSE AF DAGENS VIDEO

1. Injicer Livewire Scripts, Styles og Alpine automatisk

Efter at komponisten har installeret Livewire v2, skal du manuelt tilføje @livewireStyles, @livewireScripts og Alpine til dit layout. Med Livewire v3 skal du blot installere Livewire, og alt hvad du har brug for bliver automatisk injiceret - inklusive Alpine!





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

2. JavaScript-funktioner i PHP-klasser

Livewire v3 vil understøtte skrivning af JavaScript-funktioner direkte i dine backend Livewire-komponenter. Tilføj en funktion til din komponent, tilføj en /\*_ @js _/ kommentar over funktionen, returner derefter noget JavaScript-kode ved hjælp af PHP's HEREDOC-syntaks og kald det fra din frontend. JavaScript-koden vil blive eksekveret uden at sende nogen anmodninger til din backend.

hvordan man opretter en windows 7 install usb
<?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. Låste egenskaber

Livewire v3 vil understøtte låste egenskaber - egenskaber, der ikke kan opdateres fra frontend. Tilføj en /\*\* @locked / kommentar over en egenskab på din komponent, og Livewire vil kaste en undtagelse, hvis nogen forsøger at opdatere denne egenskab fra frontend.



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

4. Wire: Model er udskudt som standard

Efterhånden som Livewire og dets brug har udviklet sig, har vi indset, at den 'udskudte' adfærd giver mere mening for 95 % af formularer, så i v3 vil 'udskudt' funktionalitet være standard. Dette vil spare på unødvendige anmodninger til din server og forbedre ydeevnen. Når du har brug for 'live' funktionaliteten på en input, kan du bruge wire:model.live til at aktivere denne funktionalitet.