[英]Passing Data to Component View Blade
當我嘗試將數據從 controller 傳遞到視圖刀片時,我遇到了困難。 我正在使用 laravel jetstream 作為我的項目的啟動器,這是我的代碼
儀表板 Controller
public function index()
{
$this->data['currentAdminMenu'] = 'dashboard';
return view('dashboard', $this->data);
}
主要布局
<body class="antialiased">
<div id="app">
<div class="main-wrapper">
@include('components.navbar')
@include('components.sidebar')
<!-- Main Content -->
<div class="main-content">
<section class="section">
<div class="section-header">
@isset($header_content)
{{ $header_content }}
@else
{{ __('Pages') }}
@endisset
</div>
<div class="section-body">
{{ $slot }}
</div>
</section>
</div>
</div>
</div>
@stack('modals')
@livewireScripts
@isset($script)
{{ $script }}
@endisset
側邊欄
<ul class="sidebar-menu">
<li class="{{ $currentAdminMenu == 'dashboard' ? $activeClass : '' }}"><a class="nav-link"
href="{{ url('/dashboard') }}"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li>
@foreach ($moduleAdminMenus as $moduleAdminMenu)
<li class="menu-header">{{ $moduleAdminMenu['module'] }}</li>
@foreach ($moduleAdminMenu['admin_menus'] as $moduleMenu)
@can($moduleMenu['permission'])
<li class="{{ $currentAdminMenu == strtolower($moduleMenu['name']) ? $activeClass : '' }}"><a
class="nav-link" href="{{ url($moduleMenu['route']) }}"><i
class="{{ $moduleMenu['icon'] }}"></i> <span>{{ $moduleMenu['name'] }}</span></a>
</li>
@endcan
@endforeach
@endforeach
</ul>
儀表板視圖
<x-app-layout>
<x-slot name="header_content">
<h1>Dashboard</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#">Layout</a></div>
<div class="breadcrumb-item">Default Layout</div>
</div>
</x-slot>
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg">
<x-jet-welcome />
</div>
當我嘗試運行代碼時,我收到一條錯誤消息,例如Undefined variable $currentAdminMenu
。 但是如果我使用@extend
布局更改儀表板視圖,則不再有錯誤消息。
問題是如何使用<x-app-layout>
將$this->data
從 controller 傳遞到儀表板視圖。 這里有人可以給我任何建議或幫助我解決這個問題嗎?
謝謝您的幫助
將數據傳遞到刀片模板
public function index()
{
$this->data['currentAdminMenu'] = 'dashboard';
return view('dashboard', [
'data' => $this->data
]);
// OR
return view('dashboard')->with('data', $this->data);
}
數據名稱的變量可以在刀片內部訪問
根據文檔,將數據傳遞給查看方法時,它應該是一個鍵值對。 見https://laravel.com/docs/8.x/views#passing-data-to-views
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.