是否建议在Laravel Blade中对模态,下拉等进行一般部分修改?

时间:2016-03-01 18:08:41

标签: laravel laravel-blade

我正在寻找一种在我的刀片视图中包含引导程序组件的一般方法。例如,让我说我需要在我的视图中下拉,如果我使用以下代码进行部分调用dropdown.blade.php

<div class="dropdown">
      <a href="#" class="dropdown-toggle" type="button" data-toggle="dropdown">
      <span class="glyphicon glyphicon-chevron-down"></span></a>
      <ul class="dropdown-menu">
        @foreach ($options as $option)
        <li><a href="{{$option["href"]}}">{{$option["name"]}}</a></li>
        @endforeach
      </ul>
</div>

并以下列方式在我的视图中使用它:

  @include('partials.dropdown', 
          array("options"=>array(
          ["href"=>"#", "name"=>"Profile"],
          ["href"=>"#", "name"=>"Report"],
          )))

即使我们可以通过添加按钮名称等选项来使其更通用。这是一个好的或更好的方法,或者我们应该每次使用bootstrap网站的复制粘贴方法到我们的视图?是否有任何包正在做这种工作?我们能以更优雅的方式制作吗?

1 个答案:

答案 0 :(得分:2)

如果您要重新使用该组件,这似乎是一个好主意。我认为更优雅的方法是创建自定义刀片指令:

https://laravel.com/docs/master/blade#extending-blade

然后你可以做,例如:

@dropdown($options, 'btn-primary')

我还会为自定义元素ID或名称提供参数,因此您可以根据需要在页面的其他位置引用它。

对于像模态这样的东西,这会变得有点复杂。我想您想要注册多个刀片指令,以便您可以执行类似

的操作
@startmodal
@modaltitle('Title')
@startmodalbody

    Some body content

@endmodalbody
@endmodal