Laravel ライブワイヤーのメモ

ショコラ
ショコラ

Laravel ライブワイヤーのメモ

ライブワイヤーのメモまとめます。

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

①ライブワイヤーコンポーネントでは IDプロパティ は定義できない。

Public property [id] on [xxx] component is reserved for internal Livewire use.

②ライブワイヤーコンポーネントで renderメソッド を定義しない場合は、以下のファイルが使われる。

resources/views/livewire/{小文字クラス名}.blade.php

③ライブワイヤーコンポーネントには、ブレードコンポーネントにはあった {{attributes}} が無い。

Undefined variable $attributes

④ライブワイヤーのアクションを実行する前に、JavaScript で確認を入れる書き方。

<div class="ui negative button"
 onClick="confirm('削除しますか?') || event.stopImmediatePropagation()"
 wire:click="delete">削除</div>

⑤ライブワイヤーコンポーネントを動的に作成する場合は、wire:key を設定する。

<livewire:{小文字のコンポーネント名} 属性="{値}" :wire:key="{キー}"/>

⑥ライブワイヤーコンポーネントの表示の仕方。

↓はPHP7 以降の書き方なので、こちらの方が新しい。

<livewire:{小文字のコンポーネント名} 属性="{値}" />
<livewire:{小文字のコンポーネント名} 属性="{値}" wire:key="{キー}"/>

↓は過去の書き方。

@livewire('{小文字のコンポーネント名}',['属性'=>{値}])
@livewire('{小文字のコンポーネント名}',['属性'=>{値}],key({キー}))

⑦ライブワイヤーコンポーネントのプロパティを設定する。

<button wire:click="$set('value','値')">設定</button>

⑧JavaScript でライブワイヤーコンポーネントのプロパティを設定する。

<button onClick="@this.set('value','値',[defler])">設定</button>
<button onClick="@this.value='値'">設定</button>

⑨JavaScript でフォームの値を変更した場合にライブワイヤーコンポーネントのプロパティを更新するには、フォームで inputイベント を発生させる。

document.getElementById('{JavaScriptで変更したフォームのID}').dispatchEvent(new Event('input'))
document.querySelector('{JavaScriptで変更したフォームのID}').dispatchEvent(new Event('input'))

⑩ライブワイヤーコンポーネントは formタグ で囲む必要はない。

⑪JavaScript からはコンポーネントを find することはできるが、Componentクラス からは find することはできない。

⑫JavaScript からは任意のコンポーネントのメソッドを呼び出すことはできるが、Componentクラス からは find できないので、任意のコンポーネントのメソッドを呼び出すことはできない。全体に向けて、イベントを送ること(emit)はできる。

以上

Scroll to Top