Php Laravel 8.15.0/Jetstream-如何注册新刀片x-jet-newblade?
我只是在用Laravel 8做我的第一步,发现了一个我无法解决的问题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
/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>