Как мне передать переменные из контроллера в представление в laravel react?

#php #reactjs #laravel

#php #reactjs #laravel

Вопрос:

Я использую laravel в своем бэкэнде и react в качестве интерфейса. Когда я пытаюсь передать переменные из моего контроллера в представление с помощью этого:

 public function index()      
{ 
  return view('welcome')->with('name', 'San Juan Vacation');
}
  

И я хочу получить его в моем файле приветствия с помощью этого:

 <p>{{ $name }}</p>
  

По какой-то причине это не работает.
В нем указано неопределенная переменная $name. Есть идеи, что может решить эту проблему?

Комментарии:

1. Просто замените эту часть кода -> на([‘name’=> ‘San Juan Vacation’]);

Ответ №1:

Передать переменную Controller в view

 public function index()      
{ 
   $name = 'San Juan Vacation';
   $color = 'red';
  // .....
  return view('welcome', compact('name', 'color'));
}
  

Если вы хотите передать with , это время :

 return view('welcome')->with(['name'=>$name,'color'=>$color]);
  

Запись в welcome.blade.php

  <p>{{ $name }}</p>
  

Я надеюсь, что это сработает в вашем случае.

Ответ №2:

Чтобы отправить данные из контроллера в представление, используйте этот код: (вы были близки)

 public function index()      
{ 
  $name = 'San Juan Vacation';
  $color = 'red';
  // .....
  return View::make('welcome', compact('name', 'color'));
}

<p>{{ $name }}</p>
  

Комментарии:

1. Он по-прежнему говорит, что не определен. Нужно ли мне определять его в конструкторе при загрузке страницы?

2. Вы уверены, что маршрут применяется к правильному контроллеру? вы можете попробовать также php artisan view: очистить

3. @ShehbanPatel У вас установлен маршрут, подобный Route::get(‘/something’, ‘YourController@index’)->name(‘something.index’)

4. Спасибо за это. Похоже, мой маршрут был неправильным, что в первую очередь вызывало эти ошибки.

5. Круто, дайте мне знать, если у вас все еще есть какие-то проблемы!

Ответ №3:

Измените свой код, как показано ниже

 public function index()      
{   
    $name = "San Juan Vacation";
    return view('welcome')->with(['name'=>$name]);
}
  

Примечание: Избегайте передачи жестко закодированного значения в блейд-файл, задайте переменную для каждого.