嵌套组件 Livewire
Nesting Components Livewire
我有一个 运行 Table 显示这个
ID Name Details (modal button)
每当单击模态按钮时,我希望它调用另一个 livewire 组件,但是,我需要传递我拥有的现有 table 列表的 ID
每当单击模态按钮时,这是我的子组件。
public $run;
public function mount($id)
{
$this->run = $id;
}
public function render()
{
$runs = Runners_List::where('run_list_id', $this->run)->get();
return view('livewire.runners-list', [
'runs' => $runs,
]);
}
在我的模式中,我有这个
@livewire('runners-list', ['id' => $viewRun])
$viewRun
是我的主要组件列表中的 ID 或每行的 ID
我需要帮助如何将 $viewRun
(或我的主要组件的 ID)传递给上面的子组件。
这可能吗?谢谢
更新::
如果我用一个值替换 $viewRun,它就能够获取数据。
@livewire('runners-list', ['id' => $viewRun ] )
成功了
<livewire:runners-list :id="$viewRun" :key="$viewRun">
你走在正确的道路上。 Livewire 会自动将参数分配给匹配的 public 属性。根本不需要使用 mount() 方法。
此外,如果您在循环中使用 livewire 组件,请记住这一点。与 VueJs 类似,如果您在循环内渲染组件,Livewire 无法跟踪哪个是哪个。为了解决这个问题,livewire 提供了一种特殊的“键”语法。
@livewire('runners-list', ['run' => $viewRun], key($viewRun))
public $run;
public function render()
{
return view('livewire.runners-list', [
'runs' => Runners_List::where('run_list_id', $this->run)->get(),
]);
}
此外,我建议不要在 class 名称中使用下划线,而是将其重命名为 RunnersList
我有一个 运行 Table 显示这个
ID Name Details (modal button)
每当单击模态按钮时,我希望它调用另一个 livewire 组件,但是,我需要传递我拥有的现有 table 列表的 ID
每当单击模态按钮时,这是我的子组件。
public $run;
public function mount($id)
{
$this->run = $id;
}
public function render()
{
$runs = Runners_List::where('run_list_id', $this->run)->get();
return view('livewire.runners-list', [
'runs' => $runs,
]);
}
在我的模式中,我有这个
@livewire('runners-list', ['id' => $viewRun])
$viewRun
是我的主要组件列表中的 ID 或每行的 ID
我需要帮助如何将 $viewRun
(或我的主要组件的 ID)传递给上面的子组件。
这可能吗?谢谢
更新::
如果我用一个值替换 $viewRun,它就能够获取数据。
@livewire('runners-list', ['id' => $viewRun ] )
成功了
<livewire:runners-list :id="$viewRun" :key="$viewRun">
你走在正确的道路上。 Livewire 会自动将参数分配给匹配的 public 属性。根本不需要使用 mount() 方法。
此外,如果您在循环中使用 livewire 组件,请记住这一点。与 VueJs 类似,如果您在循环内渲染组件,Livewire 无法跟踪哪个是哪个。为了解决这个问题,livewire 提供了一种特殊的“键”语法。
@livewire('runners-list', ['run' => $viewRun], key($viewRun))
public $run;
public function render()
{
return view('livewire.runners-list', [
'runs' => Runners_List::where('run_list_id', $this->run)->get(),
]);
}
此外,我建议不要在 class 名称中使用下划线,而是将其重命名为 RunnersList