駆け出しエンジニアの勉強記録

アラフォー女の未経験すぎる業界での勉強記録

inertia⇔vueでのフラッシュメッセージの表示方法

コントローラーで

return redirect()->back()->with('success','保存しました');

と書き、リダイレクトするページのコントローラーで

$success_message = session()->get('success'); // 受け取る

return Inertia::render('Company/BasicInfo/BasicInfoForm', [
'success_message' => $success_message,    // vueに渡す
]);

そのvueの<setup script>内で以下のどっちかで受取り、

const props = defineProps({
success_message: {       // こっちの書き方でも
type: String
}
success_message:String    // こっちの書き方でもどっちでも可で受け取る
});

テンプレ内で

{{ props.success_message }}

メッセージ表示できる。

ちなみに、const ●●は変数を指定していて、
const props = defineProps({
  success_message: {
   type: String
  }
});
はpropsという変数を指定しているから、表示する時は
 {{ props.success_message }}
になるが、もし値を受け取るだけの
defineProps({
  success_message: {
   type: String
  }
});
にする場合は
 {{ success_message }}
で表示できる。