Livewire

未匹配的标注

Livewire

介绍

Laravel Livewire 是一个库,它可以让你使用 Laravel Blade 作为你的模板语言,简单地构建现代的、响应式的、动态的界面。如果你想要构建一个动态和响应式的应用程序,并且不想使用像 Vue.js 这样的完整 JavaScript 框架,那么 Livewire 是一个很好的选择。

当使用 Livewire 时,你应用程序的路由将使用 Blade 模板进行返回。但是,在这些模板中,你可以根据需要渲染 Livewire 组件:

<div class="mt-4">
    @livewire('server-list')
</div>

当使用 Livewire 技术栈时,Jetstream 有一些特有的功能,你应该了解。我们将在下面逐一讨论这些功能。

提示:Livewire 文档
在使用 Livewire 技术栈之前,强烈建议你阅读整个 Livewire documentation

组件

当我们创建 Jetstream Livewire时,同时会创建了各种Blade组件(按钮、面板、输入框、模态框),以帮助创建UI的一致性和易用性。你可以选择使用或不使用这些组件。所有这些组件都位于你应用程序的 resources/view/components 目录下。

你可以通过查看 Jetstream 现有视图中这些组件的用法来了解如何使用这些组件,这些视图位于你应用程序的 resources/views 目录下。

模态框

Jetstream Livewire 中的大多数组件与后端没有通信。但是,Jetstream 中包含的 Livewire 模态框组件需要与你的 Livewire 后端交互才能确定它们的打开/关闭状态。

此外,Jetstream 包含两种类型的模态框:dialog-modalconfirmation-modalconfirmation-modal 可用于确认删除操作等操作,而 dialog-modal 是一个更通用的模态框,可以在任何时候使用。

为了说明模态框的使用,我们来看下面模态框的例子,它用于确认用户是否想要删除他们的账户:

<x-confirmation-modal wire:model="confirmingUserDeletion">
    <x-slot name="title">
        删除账户
    </x-slot>

    <x-slot name="content">
        你确定要删除你的账户吗?一旦你的账户被删除,所有的资料和数据都将被永久删除。
    </x-slot>

    <x-slot name="footer">
        <x-secondary-button wire:click="$toggle('confirmingUserDeletion')" wire:loading.attr="disabled">
            算了
        </x-secondary-button>

        <x-danger-button class="ml-2" wire:click="deleteUser" wire:loading.attr="disabled">
            删除账户
        </x-danger-button>
    </x-slot>
</x-confirmation-modal>

正如你所看到的,模态的打开/关闭状态是由组件上声明的 wire:model 属性决定的。该属性的名称与 Livewire 组件对应的 PHP 类中的一个布尔属性相对应。通常,当用户点击你的应用中应该打开模态框的 UI 元素时,你将把这个属性设置为 true。当然,当你准备关闭模态框时,该属性应被设置为false

模态框的内容可以通过三个Blade组件插槽来指定:title, content, 和 footer.

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~