【问题标题】:How to get object data with Jetstream and Livewire如何使用 Jetstream 和 Livewire 获取对象数据
【发布时间】:2021-12-23 18:45:06
【问题描述】:

我与Laravel 8 Jetstream || Undefined variable: _instance (View: C:\xampp\htdocs\veye-website\resources\views\vendor\jetstream\components\modal.blade.php 有类似的问题,从这里我了解到 Livewire 方法在 Livewire 组件中工作。

但是,如何使用 Jetstream 组件获取数据?

我的工作(例如,我正在创建另一个用户页面):

  1. 在resource/views/vendor/jetstream/components下创建users.blade.php,包含以下sn-p
@foreach($users as $user)
    <tr>
        <td>
            {{ $user->name }}
        </td>
        <td>
            {{ $user->email }}
        </td>
    </tr>
@endforeach
  1. 用简单的代码创建 app\Http\Livewire\userlist.php
public function render()
    {
        $users = User::all();
        return view('user', compact("users"));
    }

我知道 (2) 将它放在 Livewire 下有问题。但是,如果不将 users.blade.php 移动到 views\livewire 组件,还能怎么做。我也在使用 users.blade.php 以便可以调用&lt;x-jet-users&gt;

【问题讨论】:

    标签: laravel-8 laravel-livewire jetstream


    【解决方案1】:

    在你的 user.blade.php 中,使用指令包含 livewire 组件

    @livewire('user-component-from-livewire')
    

    在 livewire 组件的刀片中添加您在上面处理的代码

    // at livewire/user-component-from-livewire.blade.php
    <div>
    @foreach($users as $user)
        <tr>
            <td>
                {{ $user->name }}
            </td>
            <td>
                {{ $user->email }}
            </td>
        </tr>
    @endforeach
    </div>
    
    // in component
    public function render()
    {
       return view('user-component-from-livewire', ['users' => User::all()]);
    }
    

    所以,你总是渲染 jetstream 组件,它会调用嵌套的 livewire 相关

    【讨论】:

    • 现在有错误 bootstrap/cache 目录必须存在且可写。需要调查一下
    猜你喜欢
    • 2021-12-22
    • 2021-02-13
    • 2021-12-20
    • 2019-08-15
    • 2021-04-07
    • 2021-09-18
    • 2014-09-27
    • 2014-02-18
    • 1970-01-01
    相关资源
    最近更新 更多