Laravel投稿サイト構築.62 livewire混ぜるな危険
前回
- ダイアログで投稿情報を入力させるため、livewireを導入。
- ControllerからComponentクラスに変更してbladeファイルを元に画面を表示するように修正。
- 画面表示で「undefined 変数」のエラーで足止め。
■bladeからComponentの変数を参照する記述
参考にしたサイトではComponentクラス内でpublic変数を定義して、
bladeからはその変数名を記述すれば参照できるような記述だった。
class AAA extends Component
{
public $valiavles;
}
だが、少なくとも当方の環境ではできず、
undefined valiablesのエラーが発生していた。
Controllerと同じようにviewに値を渡すように記述したら正常に処理された。
バージョンの違い?何か細かい記述の違いがあったのかも。
■デザインくずれ
エラー対応のために jetstream パッケージを入れ直したりなんやかんややっていたら、
デザインがくずれた。ログイン画面とかも最後に入れたパッケージに合わせて戻ってしまった。
bootstrapでなくtailwindが効いてるような印象。
以前設定した覚えはあるのだが、念のため再度セットアップする。
・laravel ui インストール
$composer require laravel/ui
・bootstrapセットアップ
$php artisan ui bootstrap
・パッケージインストール+ビルド
$npm install
$npm run dev
再度表示すると・・
レイアウトは治ったが、配色がおかしい?
元々用意されていない色を追加していたので、それが初期化されてしまった様子。
\resources\sass\_valiables.cssに定義を追加して $npm run devで戻った。
■本題のダイアログ
ここまできて本題の「ダイアログで投稿内容入力」が1ミリも進んでいない。
「投稿」ボタンクリックでダイアログが開くように記述しているが、ボタンが反応していない。関数からログを出力するようにしても、ログが出力されていない。
<button wire:click="create()">
Laravel/ui 、Breezeなどが入っていると良くない、というような情報あり。
どちらも入れてるんですが・・
どうしたものか、と悩むところで時間切れ。
続く