2 回答

TA貢獻1853條經(jīng)驗 獲得超6個贊
所以在 laravelBlade模板中,變量的作用域是從父級傳遞給子級的。
Blade tempalte的繼承
因此,如果您從這樣的視圖開始:
return view('template-1')->with([
'var1' => 'Test One',
'var2' -> 'Test Two',
]);
在您的刀片模板中,您可以使用以下{{ }}語法回顯這些:
{{ $var1 }} # Test One
{{ $var2 }} # Test Two
現(xiàn)在假設(shè)您正在使用 an @include,您將在范圍內(nèi)同時獲得var1&var2并能夠覆蓋它們并為您分配新變量,如下所示:
@include('_includes.include-1', ['var2' => 'Foo', 'var3' -> 'Bar'])
{{ $var1 }} # Test One
{{ $var2 }} # Foo
{{ $var3 }} # Bar
現(xiàn)在,如果您想讓一個變量可用于所有擴展給定模板的刀片模板(即,如果 "template-1" extends app)。您可以像這樣綁定全局變量ServiceProvider;
BladeServiceProvider
View::share('var4', 'Foo-Bar']);
現(xiàn)在您可以訪問var4所有模板
{{ $var1 }} # Test One
{{ $var2 }} # Test Two
{{ $var4 }} # Foo-Bar

TA貢獻1796條經(jīng)驗 獲得超7個贊
上面的答案是信息性的,因此被選為接受的答案。然而,我找到了一個簡單的解決方案,將它放在 /routes/web.php 的頂部,以便基本視圖(沒有控制器)可以訪問它并且所有刀片都有范圍
\View::share([
"myvariable1"=>"myValue1",
"myvariable2"=>"myValue2";
]);
- 2 回答
- 0 關(guān)注
- 118 瀏覽
添加回答
舉報