livewire/volt

Could not find Livewire component in DOM tree when using Volt full-page

開放

#130 建立於 2025年1月30日

 (3 則留言) (0 個反應) (0 位負責人)PHP (36 個分叉)user submission
help wanted

倉庫指標

星標
 (421 顆星)
PR 合併指標
 (平均合併 4天 5小時) (30 天內合併 1 個 PR)

描述

Volt Version

1.6.6

Laravel Version

11.37.0

PHP Version

8.3.13

Database Driver & Version

No response

Description

When using Volt's full-page component within Blade section directive I cannot get $wire to work in JavaScript as it can't find current component.

Could not find Livewire component in DOM tree

Steps To Reproduce

  1. Create simple layout resources/views/layouts/bare.blade.php
<!DOCTYPE html>
<html>
<head>
<body>
@yield('body')
</body>
</html>
  1. Create Volt component resources/views/livewire/email.blade.php
<?php

use function Livewire\Volt\{layout, state};

layout('layouts.bare');
state('email', 'test@example.com');

?>

<div>
    @section('body')
    <p x-data="{
        email: $wire.$get('email')
    }">Your email is: <span x-text="email"></span></p>
    @endsection
</div>
  1. Add routing in routes/web.php
<?php

use Livewire\Volt\Volt;

Volt::route('/email', 'email');

Because our alpine component is within blade's @section directive, it cannot find current Livewire component.

貢獻者指南