【发布时间】:2020-09-14 19:59:55
【问题描述】:
我在显示页面内容时遇到了无法显示导航栏的问题。目前我的代码的输出是,未定义的变量:navContent(视图:C:\Users\Computer Angel\Documents\blog\resources\views\layouts\components\navbar.blade.php)。我想要的输出是显示我的导航栏,然后是它下面的页面内容。
这是我的 dynamic.blade.php 代码,导航栏和页面内容都应该在其中显示。
<!DOCTYPE html>
<html>
<head>
</head>
@component('layouts.components.navbar')
@endcomponent
<body>
{!!$pageContent->pageContent!!}
</body>
</html>
navbar.blade.php 也是我的组件,如下所示:
<nav>
@slot('$navContent')
@foreach($navContent as $nav)
<a href="{!!$nav->navLink!!}">{!!nav-navName!!}</a>
@endforeach
@endslot
</nav>
这是我的 PageController@show:
public function show($URI)
{
$pageContent = DB::table('pages')->where('URI',$URI)->first();
return view('page.dynamic', ['pageContent' => $pageContent]);
}
这是我的 Nav.php
protected $fillable = ['navName', 'navLink'];
这是我的 Page.php
protected $fillable = ['title', 'URI', 'pageContent'];
这是我的页面迁移:
Schema::create('pages', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('URI');
$table->text('pageContent');
$table->timestamps();
});
这是我的导航迁移:
Schema::create('navs', function (Blueprint $table) {
$table->id();
$table->string('navName');
$table->string('navLink');
$table->timestamps();
});
这是我的 web.php:
Route::get('/page/{URI}', 'PageController@show');
对于我的完整代码,请使用下面的 GitHub 存储库链接:
https://github.com/xiaoheixi/blog
感谢您花时间阅读并尝试帮助我! :D
【问题讨论】: