【发布时间】:2021-06-12 06:48:37
【问题描述】:
我遇到了这个问题,我不明白我做错了什么,因为我对这个网站上的另一个组件采用了同样的方法,并且运行良好......
ViewMessages.php
public $messages;
public function mount($messages)
{
$this->messages = $messages;
}
查看消息.blade.php
<div class="flex flex-col">
@foreach ($messages as $message)
{{$message->content}}
@endforeach
</div>
一切正常,并正确输出所有消息。
当我尝试将 livewire 组件传递给 for each 时,它会给出错误。
@foreach ($messages as $message)
@livewire('chat.show-message', ['message'=>$message], key('show-message-'.$message->id))
@endforeach
// ShowMessage.php
public $user;
public $message;
public $user_id;
public $content;
public function mount($message)
{
$this->message = $message;
}
老实说,我对自己做错了什么感到迷茫,因为我复制了完全相同的代码并更改了我之前使用的变量。当我做嵌套组件时,它现在可以在网站上运行。
<div class="flex flex-col space-y-4 py-4 overflow-y-auto">
@foreach ($chats as $chat)
@livewire('kanbans.show-sidebar-chat-message', ['chat'=>$chat], key('chat-'.$chat->id))
@endforeach
</div>
我已经重做了这个组件两次,并且找不到任何语法问题或拼写错误。 =/
【问题讨论】:
-
可能
public $message;应该是public string $message; -
您的
Message是否易于序列化以通过网络发送,即发送到数组? -
您使用的是哪个版本的 livewire?是 1x 还是 2x
-
我在 livewire 2x 上