Flo*_*ate 2 php laravel-blade laravel-5.4
我正在构建laravel应用程序,我有这行代码,应使用旧输入和某些操作的结果,将用户重定向回刚提交的表单。
return back()->with(["result" => round($area, 2)])->withInput($request->all());
Run Code Online (Sandbox Code Playgroud)
问题是我仅在Blade中收到旧输入,并且该$result变量在视图中不可用。
这就是我尝试输出结果的方式:
<input type="text" name="result" value="{{isset($result)&&old('roofType')==0?$result:''}} ㎡ " class="form-control input-sm" >
Run Code Online (Sandbox Code Playgroud)
这是提交后我在视图中拥有的变量:
{{ dd(get_defined_vars()['__data']) }}:
array:7 [?
"__env" => Factory {#89 ?}
"app" => Application {#3 ?}
"errors" => ViewErrorBag {#169 ?}
"roofName" => "Acoperis intr-o apa"
"roofType" => "1"
"roofFolder" => "A1"
"baseFields" => array:3 [?
0 => "L"
1 => "l"
2 => "H"
]
]
Run Code Online (Sandbox Code Playgroud)
问题是我认为写作return back()->with('bladeVar', $controllerVar)与写作
相同return view('test')->with('bladeVar', $controllerVar);,但事实并非如此。
您无法使用刀片常规语法:来回显变量{{ $bladeVar }},而是必须访问会话以获取值:{{ session('bladeVar') }}。
更改方式后,显示数据均按预期工作。
| 归档时间: |
|
| 查看次数: |
7326 次 |
| 最近记录: |