Livewire Actionsの説明について

ショコラ
ショコラ

Livewire Actionsの説明について

https://laravel-livewire.com/docs/2.x/actions
このページをみていて、足らないことがありましたので、追記します

もっさん先輩
もっさん先輩

「Passing Action Parameters」についてブレード側の説明は「次のように、追加のパラメーターを式で直接 Livewire アクションに渡すことができます。」と、これだけです。。。

<button wire:click="addTodo({{ $todo->id }}, '{{ $todo->name }}')">
    Add Todo
</button>

上のコードでは、addTodo のパラメーターにプロパティの値を展開して渡していますので、表示時には以下のようになります。

<button wire:click="addTodo(100, 'もっさん')">
    Add Todo
</button>

実は、追加パラメーターに JavaScript を書くこともできます。これが言いたかったです。getTodoId() と getTodoName() は JavaScript の関数です。

<button wire:click="addTodo(getTodoId(),getTodoName())">
    Add Todo
</button>

↓次

click した時に↓下のようにセミコロンで区切って複数の PHPのメソッド を呼びたくなりますが、それはできません。PHPのメソッドは1つしか実行することができません。

<button wire:click="addTodo({{ $todo->id }}, '{{ $todo->name }}; addTodo2({{ $todo->id }}, '{{ $todo->name }}">
    Add Todo
</button>

↓次

「Magic Actions」「Livewire には、通常 “$” 記号が前に付いている “魔法の” アクションがいくつかあります。」とあります。
ここで勘違いしてしまうのが、↓下の「$set」。この $ は PHP でもなければ jQeury でもありません。こういうものなのです。

<div>
    {{ $message }}
    <button wire:click="$set('message', 'Hello')">Say Hi</button>
</div>

以上

Scroll to Top