מה חדש ב-Livewire v3 Laravel Framework?

מה חדש ב-Livewire v3 Laravel Framework?

Laravel Livewire הוא כלי נהדר להשגת התנהגות דינמית בדף אינטרנט, מבלי לכתוב ישירות קוד JavaScript. זה הופך את בניית ממשקים דינמיים לפשוטה, מבלי לעזוב את הנוחות של Laravel. לאחרונה, ליבת Livewire שוכתבה לחלוטין.





כיצד ניתן לדעת אם נחסמת ב- snapchat

ל-Livewire v3 החדש יש הבדלים טובים יותר, ניתן לבנות תכונות מהר יותר, ויש פחות כפילות בין Livewire ל-Alpine מכיוון שהוא מסתמך יותר על Alpine ומשתמש ב-Morph, History ותוספים אחרים שלו. כמה מהתכונות החדשות התאפשרו גם על ידי ארגון מחדש של בסיס הקוד ושימת דגש גדול יותר על Alpine.





איפור של סרטון היום

1. הזרקו סקריפטים, סגנונות ו-Alpine Livewire באופן אוטומטי

לאחר התקנת המלחין של Livewire v2, עליך להוסיף ידנית את @livewireStyles, @livewireScripts ו-Alpine לפריסה שלך. עם Livewire v3, אתה רק צריך להתקין את Livewire וכל מה שאתה צריך מוזרק אוטומטית - כולל Alpine!





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

2. פונקציות JavaScript בשיעורי PHP

Livewire v3 יתמוך בכתיבת פונקציות JavaScript ישירות ברכיבי Livewire האחוריים שלך. הוסף פונקציה לרכיב שלך, הוסף תגובה /\*_ @js _/ מעל הפונקציה, ואז החזר קצת קוד JavaScript באמצעות תחביר HEREDOC של PHP וקרא לו מהחזית שלך. קוד ה-JavaScript יתבצע ללא שליחת בקשות ל-backend שלך.

<?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. נכסים נעולים

Livewire v3 יתמוך במאפיינים נעולים - מאפיינים שלא ניתן לעדכן מהחזית. הוסף /\*\* @locked / תגובה מעל מאפיין ברכיב שלך, ו-Livewire יזרוק חריגה אם מישהו ינסה לעדכן את המאפיין הזה מה-frontend.



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

4. חוט: הדגם נדחה כברירת מחדל

ככל ש-Livewire והשימוש בו התפתחו, הבנו שהתנהגות ה'דחוי' הגיונית יותר עבור 95% מהטפסים, כך שב-v3 פונקציונליות 'דחוי' תהיה ברירת המחדל. זה יחסוך בבקשות מיותרות שיעברו לשרת שלך וישפר את הביצועים. כאשר אתה צריך את הפונקציונליות 'חי' בקלט, אתה יכול להשתמש ב-wire:model.live כדי לאפשר את הפונקציונליות הזו.