Kas jauns Livewire v3 Laravel Framework?

Kas jauns Livewire v3 Laravel Framework?

Laravel Livewire ir lielisks rīks, lai panāktu dinamisku uzvedību tīmekļa lapā, tieši neierakstot JavaScript kodu. Tas padara dinamisku saskarņu izveidi vienkāršu, neatstājot Laravel ērtības. Nesen Livewire kodols ir pilnībā pārrakstīts.





Jaunajam Livewire v3 ir labāka diferenciācija, funkcijas var izveidot ātrāk, un starp Livewire un Alpine ir mazāk dublēšanās, jo tas vairāk paļaujas uz Alpine un izmanto tā Morph, History un citus spraudņus. Vairākas no jaunajām funkcijām kļuva iespējamas, pārstrukturējot kodu bāzi un liekot lielāku uzsvaru uz Alpine.





DIENAS VIDEO MAKEUSEOF

1. Automātiski ievadiet Livewire skriptus, stilus un Alpine

Pēc tam, kad komponists ir instalējis Livewire v2, izkārtojumam manuāli jāpievieno @livewireStyles, @livewireScripts un Alpine. Izmantojot Livewire v3, jums vienkārši jāinstalē Livewire, un viss nepieciešamais tiek automātiski ievadīts, tostarp Alpine!





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

2. JavaScript funkcijas PHP klasēs

Livewire v3 atbalstīs JavaScript funkciju rakstīšanu tieši jūsu aizmugursistēmas Livewire komponentos. Pievienojiet savam komponentam funkciju, pievienojiet /\*_ @js _/ komentāru virs funkcijas, pēc tam atgrieziet JavaScript kodu, izmantojot PHP HEREDOC sintaksi, un izsauciet to no priekšgala. JavaScript kods tiks izpildīts, nenosūtot nekādus pieprasījumus jūsu aizmugursistēmai.

<?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. Bloķētie rekvizīti

Livewire v3 atbalstīs bloķētos rekvizītus — rekvizītus, kurus nevar atjaunināt no priekšgala. Pievienojiet /\*\* @locked / komentāru virs sava komponenta rekvizīta, un Livewire izliks izņēmumu, ja kāds mēģinās atjaunināt šo īpašumu no priekšgala.



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

4. Vads: modelis ir atlikts pēc noklusējuma

Tā kā Livewire un tā lietojums ir attīstījies, mēs esam sapratuši, ka 'atliktā' darbība ir saprātīgāka 95% veidlapu, tāpēc v3 versijā 'atliktā' funkcionalitāte būs noklusējuma funkcionalitāte. Tas ietaupīs no nevajadzīgiem pieprasījumiem uz jūsu serveri un uzlabos veiktspēju. Ja ievadei nepieciešama “tiešraides” funkcionalitāte, varat izmantot wire:model.live, lai iespējotu šo funkcionalitāti.