javascript - materializeCSS - 带有标签作为页面链接的扩展导航栏
问题描述
我不太确定是否可以使用 MaterializeCSS 框架实现我的想法。但如果可能的话,我想看看是否有人可以帮助我。
信息;我在 laravel 5.6 中工作。也许这有助于更快地找到解决方案。
所以; 我有一个带有下拉菜单的菜单。但我只想拥有标签而不是下拉菜单。正如在带有选项卡的扩展导航栏中看到的那样。
有两件事需要改变。
- 单击菜单项时,选项卡需要更改。我不确定这将如何以及是否可行。
- 标签需要在点击时重定向到页面。并且不加载内部(页面上)内容。
有什么办法可以做到这一点?
解决方案
根据您希望如何拥有 Blade 模板,您可以选择 2 个选项。
选项 1是使用产量部分组合。这将允许您在页面上定义它们需要在模板本身中显示的选项卡:
<!-- /resources/path/to/view.blade.php -->
@section('nav-tabs')
<div class="nav-content">
<ul class="tabs tabs-transparent">
<li class="tab"><a href="#test1">Test 1</a></li>
<li class="tab"><a class="active" href="#test2">Test 2</a></li>
<li class="tab disabled"><a href="#test3">Disabled Tab</a></li>
<li class="tab"><a href="#test4">Test 4</a></li>
</ul>
</div>
@endsection
<!-- /resourcs/path/to/navbar.blade.php -->
<nav class="nav-extended">
<div class="nav-wrapper">
<!-- your nav bar -->
</div>
@yield('nav-tabs')
</nav>
选项 2是使用来自控制器的新参数。然后可以在模板中对其进行解析,并在您从控制器传递数据时显示选项卡:
<!-- /resourcs/path/to/navbar.blade.php -->
<nav class="nav-extended">
<div class="nav-wrapper">
<!-- your nav bar -->
</div>
@isset($tabs)
<div class="nav-content">
<ul class="tabs tabs-transparent">
@foreach($tabs as $tab)
<li class="tab {{$tab['classes']}}"><a href="{{$tab['href']}}">{{$tab['label']}}</a></li>
@endforeach
</ul>
</div>
@endisset
</nav>
// PageController@action
...
return view("blade/template", [
'tabs' => [
[
'title' => 'Tab title',
'href' => '/go/to/this/page',
'classes' => '', // Add additional classes to tabs if you need them
],
...
]
])
至于外部页面点,由于选项卡中充满了<a href=''></a>
元素,您不能使用它们链接到其他页面吗?
推荐阅读
- macos - SMLoginItemSetEnabled 返回成功但不添加登录项
- r - R - Best Way to Perform Geospatial Calculations
- cmake - ctest run only existing tests
- php - how to edit joined data from databade in pdo php
- c# - 拖放到网格后如何在应用程序中重新获得焦点
- r - 'termstrc' 已从 CRAN 中删除,尝试从 .tar 文件安装 - 如何安装 'termstrc' 我需要它用于另一个程序
- php - 从 WP_Query 循环中删除 Woocommerce 免费产品
- google-custom-search - 如何免费使用 Google 自定义搜索广告?
- javascript - 使用nodejs服务器命中角度路线时出错
- python - 无法导入名称“etree”