Я пытаюсь создать полные компоненты блейда, которые содержат необходимые ему зависимости VueJ
Пример
views / shared / _manage-user-button.blade.php
<button
@click.prevent="$modal.show('manage-user-modal', {
url: '{{ route('users.update', $user) }}'
})"
>
Manage {{ $user->name }}
</button>
<manage-user-modal>
</manage-user-modal>
Но каждый раз, когда я буду повторно вызывать этот компонент, <manage-user-modal>
будет перерисовываться.
Решение состояло бы в том, чтобы переместить <manage-user-modal>
в родительском или глобальном масштабе, но это нарушило бы идею создания частичной независимости.
Начало решения
@if(!isset($loop) ?: $loop->last)
<manage-user-modal>
</manage-user-modal>
@endif
При этом он работает как шарм НО , когда компонент вызывается в двух разных циклах / местах на одной и той же странице, он все равно будет отображаться дважды.
Я также попробовал "хакерский" способ
@if(config('manage-user-button-rendered')? false : config(['manage-user-button-rendered' => true]) )
<manage-user-modal>
</manage-user-modal>
@endif
Но, похоже, он не работает с видом