В Inertia.js, данные можно передать в root template (blade файл) с помощью двух переменных: page.props и page.asset.
Переменная page.props содержит объект, который будет преобразован в JSON и передан внутрь JS-функции Inertia.merge. Эта функция обновляет существующие данные на странице с помощью переданных данных.
Например, чтобы передать данные о пользователе в root template, можно выполнить следующий код в контроллере:
public function index()
{
$user = Auth::user();
return Inertia::render('Home', [
'user' => $user
]);
}
Затем в blade-шаблоне можно использовать переданные данные следующим образом:
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
</head>
<body>
@inertia
<script>
// Объект пользователя, переданный из контроллера
const user = @json($page.props.user);
</script>
</body>
</html>
Переменная page.asset используется для передачи пути к JS-файлу, который должен быть загружен на страницу. Этот путь должен быть относительным пути к файлу из директории public, например:
return Inertia::render('Home', [
'user' => $user,
'asset' => 'js/app.js'
]);