【发布时间】:2020-11-14 14:23:55
【问题描述】:
我制作了follower 组件。
如果访问者关注作者,则组件将显示Following,否则将显示Follow。
我把follower组件放在页面的两个地方。
-follower 组件。
<div>
<a href="javascript:void(0);" class="follow_btn" wire:click="toggle">{{$following? 'Following': 'Follow'}}</a>
</div>
公开 $following = true; 公开 $post;
public function mount($post)
{
$this->post = $post;
}
public function render()
{
if(Auth::check()&&user()->isFollowing($this->post->user))
{
$this->following = true;
}else {
$this->following = false;
}
return view('livewire.following');
}
public function toggle()
{
user()->toggleFollow($this->post->user);
}
我在一个页面的两个地方使用这个组件。
<livewire:follower :post="$post">
...
<livewire:follower :post="$post">
当我单击一个组件时,它被切换并且运行良好。
但其他组件保持旧状态。
如何同步它们?
谢谢
【问题讨论】:
-
您是否尝试将不同的密钥传递给两个组件?比如 :key="first-{{ $post->id }}" 和 :key="second-{{ $post->id }}"
-
同步它们??
-
@lovecoding 你能同步它们吗?我也有同样的缺点。
-
@user2851148 请检查此答案。 stackoverflow.com/a/66292844/13431339
标签: php laravel eloquent livewires laravel-livewire