Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 8.15.0/Jetstream-如何注册新刀片x-jet-newblade?_Php_Laravel_Laravel Blade_Laravel 8_Jetstream - Fatal编程技术网

Php Laravel 8.15.0/Jetstream-如何注册新刀片x-jet-newblade?

Php Laravel 8.15.0/Jetstream-如何注册新刀片x-jet-newblade?,php,laravel,laravel-blade,laravel-8,jetstream,Php,Laravel,Laravel Blade,Laravel 8,Jetstream,我只是在用Laravel 8做我的第一步,发现了一个我无法解决的问题 /var/www/html/laravel/resources/views/dashboard.blade.php: <div class="py-12"> <div class="max-w-7xl mx-auto sm:px-6 lg:px-8"> <div class="bg-white overflow-hi

我只是在用Laravel 8做我的第一步,发现了一个我无法解决的问题

/var/www/html/laravel/resources/views/dashboard.blade.php

    <div class="py-12">
    <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
        <div class="bg-white overflow-hidden shadow-xl sm:rounded-lg">
            <x-jet-welcome />
        </div>

我在这里处理同样的问题,发现你的问题没有得到回答。 我找到的解决方案是创建自己的新刀片组件。 您可以使用以下方法完成此操作:

$ php artisan make:component MyComponent
这将创建两个新文件/resources/views/components/my-component.blade.php和/app/View/components/MyComponent.php。 现在,您只需在该刀片文件上构建组件,并使用x标记引用它,如下所示:

这就是刀片组件代码的外观

<button {{ $attributes->merge(['type' => 'button', 'class' => 'some-classes']) }}> {{ $slot }} </button>
merge(['type'=>'按钮','class'=>'某些类'])}>{{{$slot}

希望能有帮助。来自巴西的问候:)

我不确定在此处添加新自定义x-jet组件是正确的还是预期的方法,因为此方法可能无法在更新后继续使用,但您可以在此文件中注册新组件:

vendor/laravel/jetstream/src/JetstreamServiceProvider.php


添加,
$this->registerComponent('subform')
调用configureComponents方法,然后使用
标记调用该方法。您可以在
App\Providers\JetstreamServiceProvider.php
文件夹中注册jetstream刀片组件

将以下帮助器函数添加到文件中:

protected function registerComponent(string $component) {
    \Illuminate\Support\Facades\Blade::component('jetstream::components.'.$component, 'jet-'.$component);
}
然后在注册函数中使用以下代码段注册jetstream刀片组件:

public function register() {
    $this->registerComponent('subform');
}
现在,您可以使用自定义jetstream组件:

<x-jet-subform>


谢谢您的帮助!这对我来说很有效,但我不知道为什么不能使用Jetstream刀片而不是“普通”刀片组件。在一个教程中,他声称你可以通过在
视图/components
文件夹中创建一个新的组件刀片文件来添加一个新组件,但我得到了一个错误:
无法找到组件的类或视图。我真的必须执行
make:component
。是否可以像@operator所要求的那样,通过添加一个新的刀片文件来实现这一点?我有点希望我没有否决这一点(对不起),但我认为它并没有准确地回答这个问题,这似乎是jetstream所特有的。我认为@Saravanakumar提交的答案更准确。正如您所写的,此解决方案在软件包更新后将无法生存。这很有效,但刀片位置很重要。我必须将它放在resources/views/vendor/jetstream/components中,以便识别它。
<x-jet-subform>