Reputation: 11
below is my App/Http/Livewire/Test.php
file
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class Test extends Component
{
public $name = 'mike';
public function render(){
return view('livewire.test');
}
public function clickTest(){
$this->name = 'Joe';
}
}
below is my resources/views/livewire/test.blade.php
<div>
hello {{$name}}
</div>
and below is my resources/views/test.blade.php
<html>
<head>
<title>test page</title>
@livewireStyles
<script src="{{ asset('js/app.js') }}"></script>
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
</head>
<body>
<div>
<livewire:test /> //this line is working fine
<button wire:click="clickTest">test</button> //this line is not working
</div>
@livewireScripts
</body>
</html>
I am able to get hello mike
on page load but when I click on the test button it's not changing to Joe
. When I checked on my network tab, it looks like the click event is not even triggered and it's not able to reach clickTest()
function
Upvotes: 0
Views: 3769
Reputation: 1499
Your button needs to be moved into the component:
<div>
hello {{$name}}
<button wire:click="clickTest">test</button>
</div>
Upvotes: 3