具有带有
wire:click="toggleChecked"
子句的 Livewire 组件,此处理程序是:
public function toggleChecked(): void
{
(new ScaleController())->index();
}
我想通过这个处理程序显示欢迎屏幕。
控制器代码很简单:
class ScaleController extends Controller
{
public function index(): mixed
{
return view('welcome');
}
}
我在路线中使用了这个方法(
index
),所以它本身就有效。
但是当我从 Livewire 处理程序调用它时 - 代码被执行(通过交互式调试检查),但没有显示任何视觉变化。
如何从 Livewire 处理程序获取视觉变化?
你都做错了。让我们从基础开始吧。
切勿使用
new Controller
。
// Livewire component
use Livewire\Component;
class Show extends Component
{
public bool $show = false;
public function render()
{
return view('livewire.show');
}
}
// Livewire view
<div>
<button wire:click="$toggle('show')">
Show welcome
</button>
@if($show)
@include('welcome')
@endif
</div>