【问题标题】:Laravel Livewire Passing variable data from one component to another using redirectLaravel Livewire 使用重定向将变量数据从一个组件传递到另一个组件
【发布时间】:2021-10-31 08:53:42
【问题描述】:

我正在尝试使用两个 livewire 控制器进行更新过程。我想传递所选页面的 id 并将该数据传递给另一个 livewire 控制器。

我尝试使用:return redirect()->route('system-pages/update-system-page', ['pages_id' => $this->modelId]); 将数据传递到其中$this->modelId 是页面ID 的url。每当我选择一个页面时,当前的 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 组件?谢谢。

【问题讨论】:

    标签: php laravel redirect controller laravel-livewire


    【解决方案1】:

    不要使用查询字符串,而是尝试将 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

    【讨论】:

    • 谢谢它有效!
    猜你喜欢
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 2022-11-17
    • 2019-12-16
    • 2021-04-16
    • 2019-11-06
    相关资源
    最近更新 更多