以下代码不显示数据。但是,如果我添加数据,它将起作用
Livewire Company.php:
public $company;
public function mount(Company $company) {
$this->company = $company;
}
public function render()
{
return view('livewire.company');
}
livewire.company:
<div>
{{$company->name}}</div>
尽管我以$ company-> dd命名也可以
Web.php:
Route::livewire('/companies/{company}', 'company')->name('show-company');
layouts / app.blade.php:
@livewireStyles @livewire('company') <script src="{{asset('js/app.js')}}"></script> @livewireScripts
如果我不使用路由模型绑定,而是像这样寻找它
$this->company = Company::find($company);
它抛出了无法解析的依赖项解析[Parameter#0 [$ company]]
答案 0 :(得分:0)
看起来您在安装函数中正在接收模型,但是从layouts / app.blade.php调用它时,您没有传递任何参数。 因此,代替
@livewire('company')
您可以这样称呼:
@livewire('company',['company' => App\Company::find(1)])
在这里,我使用公司模型的第一个实例,但是您可以发送所需的信息。但请记住,您应该传递模型,因为您会在mount()中收到模型。
希望它会起作用。