【问题标题】:Undefined Variable in Laravel 7 ComponentsLaravel 7 组件中的未定义变量
【发布时间】:2020-07-02 00:54:11
【问题描述】:

我有一个奇怪的问题,我正在为要在组件中显示的 Laravel 7 组件设置一个变量。虽然它在我的开发环境(MacOS 上的 MAMP)中工作,但当我将它加载到 HostGator 中的共享主机时它不起作用。在 HostGator 中,它会引发 500 错误,抱怨“未定义的变量:page_title”。

关于这里可能发生什么的任何想法?

App/Components/Layout/ContentHeader.php

class ContentHeader extends Component
{
    public $page_title;
    public $breadcrumbs = [];

    /**
     * Create a new component instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->page_title = 'Some title';
        $crumb = new \stdClass();
        $crumb->label = 'Home';
        $crumb->active = false;
        $this->breadcrumbs[] = $crumb;

        $crumb = new \stdClass();
        $crumb->label = $this->page_title;
        $crumb->active = true;
        $this->breadcrumbs[] = $crumb;
    }

    /**
     * Get the view / contents that represent the component.
     *
     * @return \Illuminate\View\View|string
     */
    public function render()
    {
        return view('components.layout.content-header');
    }
}
<!-- Resources/views/components/layout/content-header.blade.php -->
<div class="content-header">
    <div class="container-fluid">
        <div class="row mb-2">
            <div class="col-sm-6">
                <h1 class="m-0 text-dark">{{ $page_title }}</h1>
            </div><!-- /.col -->
            <div class="col-sm-6">
                <ol class="breadcrumb float-sm-right">
                    @foreach ($breadcrumbs as $crumb)
                        @if (!$crumb->active)
                            <li class="breadcrumb-item"><a href="#">{{ $crumb->label }}</a></li>
                        @else
                            <li class="breadcrumb-item active">{{ $crumb->label }}</li>
                        @endif
                    @endforeach
                </ol>
            </div><!-- /.col -->
        </div><!-- /.row -->
    </div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->```

【问题讨论】:

  • 如何在视图中定义组件标签?
  • 您找到解决方案了吗?我有同样的问题。谢谢。

标签: php laravel components laravel-7


【解决方案1】:

在 GitHub 上有一个完整的讨论。解决方法很简单

你的组件控制器是小写的,应该是大写的。去这里conversation

【讨论】:

  • 链接可能会被破坏,以防万一您也可以在这里复制相关对话吗?
【解决方案2】:

我之前也遇到过同样的问题。我的错误是我的组件的小写名称。首先应该是大写,然后我还必须将命名空间更改为大写。接下来我必须清除 laravel 视图

php 工匠视图:清除

【讨论】:

    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 2015-02-04
    • 2021-03-26
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    相关资源
    最近更新 更多