gpt4 book ai didi

javascript - Aurelia - 一种将分隔符添加到多级下拉菜单中的方法

转载 作者:行者123 更新时间:2023-11-30 14:52:49 24 4
gpt4 key购买 nike

我有一个多级下拉菜单,适用于带有 Bootstrap 的 Aurelia,但是虽然它的三个级别很深,并以此为基础扩展了这个要点,但我无法通过路由设置添加分隔线。

现在分隔符在列表标签​​中使用类“分隔符”<li></li>好的,所以我想通过添加条目 divider: true在下拉菜单的设置中,我可以检查它,如果显示链接等,我可以改为显示分隔线,但我不知道如何将其实现到 navmenu.html 文件中。这是文件:

           <ul class="nav navbar-nav">
<li repeat.for="route of router.navigation" class="${route.isActive ? 'active' : ''}">
<a href.bind="route.href" if.bind="!route.settings.nav"><span class="glyphicon glyphicon-${ route.settings.icon }"></span> ${route.title}</a>

<a href.bind="route.href" if.bind="route.settings.nav" class="dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-${ route.settings.icon }"></span> ${route.title} <span class="caret"></span> <!--First level menu heading - requires route.settings.nav to exist-->
</a>

<ul if.bind="route.settings.nav" class="dropdown-menu">

<li repeat.for="menu of route.settings.nav" class="dropdown-submenu">
<a href.bind="menu.href" if.bind="!menu.navSettings.subNav"><span class="glyphicon glyphicon-${ menu.navSettings.icon }"></span> ${menu.title}</a>

<a href.bind="menu.href" if.bind="menu.navSettings.subNav" class="dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-${ menu.navSettings.icon }"></span> ${menu.title} <span class="caret-right"></span>
</a>
<ul if.bind="menu.navSettings.subNav" class="dropdown-menu">
<li repeat.for="subMenu of menu.navSettings.subNav" class="dropdown-submenu">
<a href.bind="subMenu.href" if.bind="!subMenu.subNavSettings.subSubNav"><span class="glyphicon glyphicon-${ subMenu.subNavSettings.icon }"></span> ${subMenu.title}</a>

<a href.bind="subMenu.href" if.bind="subMenu.subNavSettings.subSubNav" class="dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-${ subMenu.subNavSettings.icon }"></span> ${subMenu.title} <span class="caret-right"></span>
</a>
<ul if.bind="subMenu.subNavSettings.subSubNav" class="dropdown-menu">
<li repeat.for="lowestSubMenu of subMenu.subNavSettings.subSubNav" class="dropdown-submenu">
<a href.bind="lowestSubMenu.href"> <span class="glyphicon glyphicon-${ lowestSubMenu.subSubNavSettings.icon }"></span> ${lowestSubMenu.title}</a>
</li>
</ul>
</li>
</ul>
</li> [ALL THE ANCHORS HERE OR A DIVIDER.. HOW DO I DO A TERNARY TO CHECK ON EACH REPEAT FOR A DIVIDER VALUE IN THE SETTINGS ARRAY.

</ul>
</li>
</ul>

这是导航菜单从中读取的路线图中的一个例子:

{
route: "clients",
name: "clients",
moduleId: PLATFORM.moduleName("../components/clients/clientList/clientList"),
title: "Clients",
nav: true,
settings: {
nav: [
{
href: "#clients/clientsList",
title: "Client List",
navSettings: {
icon: "list",
roles: ["Employee", "Admin"],
}
},
{
navSettings: {
roles: ["Employee", "Admin"],
divider: true, // HERE IS MY DIVIDER
}
},
{
href: "#clients/Create",
title: "Create Client",
navSettings: {
icon: "user",
roles: ["Employee", "Admin"],
}
}
],
icon: "user",
auth: true,
roles: ["Employee", "Admin"],
pos: "left"
}
},

问题是 <li></li>执行重复,我需要检查该重复 - li 以查看“navSettings 是否有条目分隔符:true,如果是,则不显示链接(菜单项),而是显示行分隔符。

我如何丢弃 anchor 并显示带有类“divider”的列表行。让我失望的是 li 有一个 repeat.for 并且我需要显示 <li></li> 之间的所有内容标签或显示分隔线。

我需要检查线路:

<li repeat.for="menu of route.settings.nav" class="dropdown-submenu">

并将类从“dropdown-submenu”更改为“divider”,同时不显示任何 anchor <a></a>通过对分隔符进行类似的检查(我猜是 if.bind)..

希望你能帮到你..

最佳答案

<li>使用 class="${menu.divider ? 'divider' : 'dropdown-submenu'}" .

使用 if.bindmenu.divider对于 <li> 中的元素.

<li repeat.for="menu of route.settings.nav" class="${menu.divider ? 'divider' : 'dropdown-submenu'}">
<a if.bind="!menu.divider" href.bind="lowestSubMenu.href"> <span class="glyphicon glyphicon-${ lowestSubMenu.subSubNavSettings.icon }"></span> ${lowestSubMenu.title}</a>
<div if.bind="menu.divider" class="divider"></div>
</li>

关于javascript - Aurelia - 一种将分隔符添加到多级下拉菜单中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47868920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com