php - Laravel Livewire 使用重定向将变量数据从一个组件传递到另一个组件
问题描述
我正在尝试使用两个 livewire 控制器进行更新过程。我想传递所选页面的 id 并将该数据传递给另一个 livewire 控制器。
我尝试使用:return redirect()->route('system-pages/update-system-page', ['pages_id' => $this->modelId]);
将数据传递到 url$this->modelId
是页面的 id。每当我选择一个页面时,当前的 URL 是http://127.0.0.1:8000/system-pages/update-system-page?pages_id=7
.
我通过将 url 转换为字符串并选择最后一个字符来获取 id: $this->pageData = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
。
有没有更好的方法从另一个组件获取 id 并将该数据传递给另一个 livewire 组件?谢谢你。
解决方案
而不是使用查询字符串,尝试将 id 放在路径中
所以会的http://127.0.0.1:8000/system-pages/update-system-page/7
为此,在您的路线中,只需添加一个变量:
Route::get('system-pages/update-system-page/{pages_id}')
然后在你的 livewire 控制器中,使用 mount 方法获取 id
public function mount($pages_id){
}
重定向代码仍然与您的相同。
来源:https ://laravel-livewire.com/docs/2.x/rendering-components#route-params
推荐阅读
- http - 从支付网关返回的 HTTP 错误 414
- python - 根据数据范围优化x轴-水平条之间的plt.yticks`
- dataframe - 如何在pyspark数据框中进行分组而不聚合
- cross-browser - 在 Set-Cookie 标头中可以有一个尾随分号吗?
- c# - dotnet new 找不到路径的一部分
- eloquent - 分离单个 belongsToMany 关系
- python - 如何使用 python 以不同的行将文本从一个文件插入另一个文件?
- powerbi - 如何将 Tableau FIXED LOD 转换为 Power BI?
- php - Laravel 二维码在发送电子邮件时不起作用
- git - git子模块跟踪标签