【问题标题】:How do I pass variables from the controller to the view in laravel react?如何将变量从控制器传递到 laravel react 中的视图?
【发布时间】:2019-04-09 03:10:57
【问题描述】:

我在后端使用 laravel 并作为前端做出反应。当我尝试将变量从控制器传递到视图时:

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

并且想在我的欢迎刀片文件中检索它:

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

由于某种原因它不起作用。 它说未定义的变量 $name。知道什么可以解决这个问题吗?

【问题讨论】:

  • 只需替换这部分代码->with(['name'=> 'San Juan Vacation']);

标签: php reactjs laravel


【解决方案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>
    

    【讨论】:

    • 它仍然说未定义。加载页面时是否需要将其定义到构造函数中?
    • 你确定路由应用到了正确的控制器吗?你也可以试试 php artisan view:clear
    • @ShehbanPatel 你有像Route::get('/something', 'YourController@index')->name('something.index')这样的路由设置
    • 谢谢。看起来我的路线是错误的,这首先导致了这些错误。
    • 很酷,如果您还有问题,请告诉我!
    【解决方案3】:

    修改你的代码如下

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

    注意:避免将硬编码值传递给刀片文件,为每个设置变量。

    【讨论】:

      猜你喜欢
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-30
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      相关资源
      最近更新 更多