首页 > 解决方案 > 在 Laravel 6 中调用字符串上的成员函数 script()

问题描述

我正在尝试通过主布局呈现图表,它已成功为我的仪表板呈现,但它会影响侧边栏菜单的其余部分。由于此错误,我无法访问使用与仪表板相同的主布局的其他页面。

我已经应用了视图编辑器,以便将变量共享给所有视图。

这是我尝试访问使用相同主布局扩展的其他页面时出现的错误消息。

调用字符串上的成员函数 script()(查看:C:\xampp\htdocs\MMSRBackend\resources\views\layouts\admin.blade.php)

这是AppServiceProvider.php

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $this->app->alias('bugsnag.logger', \Illuminate\Contracts\Logging\Log::class);
        $this->app->alias('bugsnag.logger', \Psr\Log\LoggerInterface::class);

        // View::composer('*', function ($view) {
        //     $view->with('chart', 'home');
        // });

        View::share('chart', 'home');

        // view()->share('chart', 'home');
    }
}

admin.blade.php

这是主布局页面,以下{!! $chart->script() !!}不起作用。


    <div class="app-body">
        @include('partials.menu')
        <main class="main">


            <div style="padding-top: 20px" class="container-fluid">

                @yield('content')

            </div>

        </main>


        <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js" charset="utf-8"></script>
        {!! $chart->script() !!} 

有谁知道如何解决这个错误?任何人都可以提供有关此问题的解决方案。

标签: laravel

解决方案


错误告诉你在这种情况下到底是什么问题,你试图在字符串 $chart 上调用函数:

$chart = "home"在这里设置View::share('chart', 'home');

在此处查看Laravel 文档以获取有关View::share的更多详细信息


推荐阅读