所以我正在尝试制作一些小部件服务,但遇到了一个问题。在我的信息中心中,我包含了部分视图和小部件的数量。并传递参数' settings'。一切都应该对我好,但我想阅读这个'设置'在我的视图作曲家中的参数,所以我应该能够传递正确的' newData' 到小部件'视图。我找到了像$ view-> getData();但是,当我使用这个无限循环诅咒。有什么建议?
注意:我必须使用视图编辑器,并且CAN&#T; T传递这个' newData'包括在内。
index.blade.php
<p>
@include('widget', ['settings'=>'bla'])
</p>
一些服务提供商:
public function boot()
{
view()->composer(
'widget', 'App\Http\ViewComposers\WidgetComposer'
);
}
应用\ HTTP \ ViewComposers \ WidgetComposer.php
class WidgetComposer
{
/**
* Bind data to the view.
*
* @param View $view
* @return void
*/
public function compose(View $view)
{
$view->with('newData', 'someArrayWithData');
}
}
widget.blade.php
<p>
{!! $newData !!}
</p>
答案 0 :(得分:0)
好的,所以它应该是 $ view-&gt; getData();
class WidgetComposer
{
/**
* Bind data to the view.
*
* @param View $view
* @return void
*/
public function compose(View $view)
{
$settings = $view->getData()['settings'];
$data = $settings == 'bla' ? 'got bla' : array();
$view->with('newData', $data);
}
}
这适用于干净的项目,但是在我的主项目中,这会导致渲染器中的无限循环。不确定这是因为我不应该在这里使用的某些变量,还是因为某些依赖。如果发现了什么,我会添加评论。