Có gì mới trong Livewire v3 Laravel Framework?

Có gì mới trong Livewire v3 Laravel Framework?

Laravel Livewire là một công cụ tuyệt vời để đạt được hành vi động trên một trang web mà không cần trực tiếp viết mã JavaScript. Nó làm cho việc xây dựng các giao diện động trở nên đơn giản mà không để lại sự thoải mái của Laravel. Gần đây, lõi Livewire đã được viết lại hoàn toàn.





Livewire v3 mới có sự khác biệt tốt hơn, các tính năng có thể được xây dựng nhanh hơn và ít trùng lặp hơn giữa Livewire và Alpine vì nó phụ thuộc nhiều hơn vào Alpine và sử dụng Morph, History và các plugin khác. Một số tính năng mới cũng được thực hiện bằng cách tái cấu trúc cơ sở mã và đặt trọng tâm nhiều hơn vào Alpine.





cách khôi phục ảnh đã xóa trên android
LÀM VIDEO TRONG NGÀY

1. Tự động tiêm Livewire Scripts, Styles và Alpine

Sau khi nhà soạn nhạc cài đặt Livewire v2, bạn phải thêm thủ công @livewireStyles, @livewireScripts và Alpine vào bố cục của mình. Với Livewire v3, bạn chỉ cần cài đặt Livewire và mọi thứ bạn cần sẽ được tự động đưa vào - bao gồm cả Alpine!





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

2. Các hàm JavaScript trong các lớp PHP

Livewire v3 sẽ hỗ trợ viết các hàm JavaScript trực tiếp trong các thành phần Livewire phụ trợ của bạn. Thêm một hàm vào thành phần của bạn, thêm một / \ * _ @js _ / nhận xét phía trên hàm, sau đó trả về một số mã JavaScript bằng cú pháp HEREDOC của PHP và gọi nó từ giao diện người dùng của bạn. Mã JavaScript sẽ được thực thi mà không cần gửi bất kỳ yêu cầu nào đến chương trình phụ trợ của bạn.

<?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. Thuộc tính bị khóa

Livewire v3 sẽ hỗ trợ các thuộc tính bị khóa - các thuộc tính không thể cập nhật từ giao diện người dùng. Thêm / \ * \ * @locked / nhận xét phía trên thuộc tính trên thành phần của bạn và Livewire sẽ đưa ra một ngoại lệ nếu ai đó cố gắng cập nhật thuộc tính đó từ giao diện người dùng.



chromecast là gì và nó hoạt động như thế nào
<?php 
namespace App\Http\Livewire;
class Todos extends \Livewire\Component
{
/** @locked */
public $todos = [];
}
?>

4. Dây: mô hình được hoãn lại theo mặc định

Khi Livewire và cách sử dụng nó đã phát triển, chúng tôi nhận thấy rằng hành vi 'hoãn lại' có ý nghĩa hơn đối với 95% biểu mẫu, vì vậy trong v3, chức năng 'hoãn' sẽ là mặc định. Điều này sẽ tiết kiệm các yêu cầu không cần thiết đến máy chủ của bạn và cải thiện hiệu suất. Khi bạn cần chức năng 'trực tiếp' trên đầu vào, bạn có thể sử dụng wire: model.live để bật chức năng đó.