[英]How to access declared variable from laravel-livewire component in the app layout
我嘗試從 livewire 組件傳遞一個變量:
class Index extends Component
{
public function render()
{
return view('livewire.index')->with('type', config('constants.NONAUTH'));
}
}
並從 layouts.app 訪問它:
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
{{dd($type)}}
@include('includes.head')
...
我收到$type
未定義的錯誤,這樣做的正確方法是什么?
聲明一個公共變量 $type 並在你的 mount() function 中設置這個變量,如下所示:
class Index extends Component
{
public $type = null;
public function render()
{
return view('livewire.index');
}
public function mount()
{
$this->type = config('constants.NONAUTH');
}
}
編輯:
我明白了,我第一次誤會你,。 我再次閱讀並了解到您想要的東西不會起作用,因為您正在嘗試訪問在您的應用程序布局之后聲明的變量。 Livewire 在布局加載后立即渲染其組件。 我建議您使用 livewire 制作整個應用程序布局。
是的,可以通過多種方式將 livewire 中的某些內容聲明到刀片中。 這是一個:
您可以觸發一個事件,該事件可以被刀片內的全局 JS 監聽。 然后您可以使用 jquery / vanilla js 在刀片組件中設置該值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.