带有附加下拉列表的角度菜单项根本不显示
Angular menu items with attached dropdowns doesn't display at all
我正在制作一个非常复杂的角度菜单(或者稍后会(,我已经完成了大部分结构,但我坚持做一件事。如您所见,我根据当前登录的人为不同的人指定了不同的菜单选项。现在我只想显示"管理员"的菜单。我放了一个检查admin
属性的ng-if
,如果找到一个,它应该将其内容循环为主要 li 项以及包含下拉列表项的 ul。但是,我这样做的方式显示了除admin
内容之外的所有内容。几个小时以来,我一直在尝试不同的解决方案,但我就是无法正确处理。我做错了什么?
歉意,但有必要对我拥有的结构有一个很好的概述。
<header>
<ul id="main-menu">
<li data-ng-repeat="menu in menus" id="{{menu.id}}"><a href="{{menu.URL}}.php">{{menu.title}}</a>
<ul data-ng-repeat="submenu in menu" data-ng-if="menu.admin"> <--if admin
<li data-ng-repeat="subitem in submenu.items"><a href="{{subitem.URL}}.php">{{subitem.title}}</a></li>
</ul>
</li>
</ul>
</header>
这是我的控制器,包含所有信息:
onlinePlatform.controller('onlinePlatformCtrl', function ($scope) {
$scope.menus = [
{
title: 'Startsida',
URL: 'home'
},
{
title: 'Nyheter',
URL: 'news'
},
{
title: 'Meddelanden',
items: [
{
title: 'Inkorg',
URL: 'inbox'
},
{
title: 'Skickade meddelanden',
URL: 'sentmsg'
},
{
title: 'Borttagna meddelanden',
URL: 'removedmsg'
}
],
URL: 'messages',
id: 'msg'
},
{
admin: {
title: 'Administration',
items: [
{
title: 'Hantera utbildningar',
URL: 'mngprograms'
},
{
title: 'Hantera kurser',
URL: 'mngcourses'
},
{
title: 'Hantera lärare',
URL: 'mngteachers'
},
{
title: 'Hantera studenter',
URL: 'mngstudents'
}
],
URL: 'administration',
id: 'administration'
},
teacher: {
title: 'Utbildning',
items: [
{
title: 'Kurser överblick',
URL: 'coursesoverview'
},
{
title: 'Sätt eller ändra betyg',
URL: 'editgrades'
},
{
title: 'Boka eller avboka lokaler',
URL: 'classroombooking'
}
],
URL: 'utbildning',
id: 'utbildning'
},
student: {
title: 'Mina sidor',
items: [
{
title: 'Mina kurser',
URL: 'mycourses'
},
{
title: 'Mitt schema',
URL: 'myschedule'
},
{
title: 'Mina betyg',
URL: 'mygrades'
},
{
title: 'Mina kontaktuppgifter',
URL: 'mycontactinfo'
},
{
title: 'Klasslista',
URL: 'classlist'
},
{
title: 'Anteckningar',
URL: 'notes'
}
],
URL: 'mypages',
id: 'mypages'
}
},
{
title: 'Forum',
URL: 'forum'
},
{
title: 'Kalender',
URL: 'calendar'
},
{
admin: {
title: 'Enkäter',
items: [
{
title: 'Skapa enkät',
URL: 'createsurvey'
},
{
title: 'Visa tidigare enkäter',
URL: 'previussurveys'
}
],
URL: 'surveys',
id: 'surveys'
},
teacher: {
title: 'Kontaktuppgifter',
items: [
{
title: 'Profil',
URL: 'profile'
},
{
title: 'Redigera kontaktuppgifter',
URL: 'editcontactinfo'
}
],
URL: 'contactinfo',
id: 'contactinfo'
},
student: {
title: 'Verktyg',
items: [
{
title: 'Ladda ner Dreamspark produkter',
URL: 'dreamspark'
}
],
URL: 'tools',
id: 'tools'
}
},
{
title: 'Hjälp',
items: [
{
title: 'Vanliga frågor',
URL: 'faq'
},
{
title: 'JENSEN kontaktuppgifter',
URL: 'contactinfo'
}
],
URL: 'help',
id: 'help'
}
]
});
使用这个,ng-show=menu.admin
.但是,建议使用方法而不仅仅是赋值来检查显示/隐藏元素的授权,因为该方法将等到 Angular 解析其值,但变量仅考虑其当前状态以显示/隐藏元素。
相关文章:
- 如何使活动菜单项具有突出显示样式
- 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方法是什么
- 突出显示菜单项及其子菜单项
- 在表格最后一行(链接)中显示菜单,并在单击菜单项时显示模式窗口
- 如何使用隐藏菜单项直到单击的 javascript 显示第一个菜单项内容
- 单击一个菜单项时显示隐藏字段 - 高级自定义字段转发器
- 带有附加下拉列表的角度菜单项根本不显示
- jQuery保持活动菜单项高亮显示
- 确定菜单项是否溢出,然后显示移动菜单
- 如何显示菜单项边框,即使文档正在重新加载
- 如何保持菜单下拉菜单显示,导航菜单项和下拉菜单项并关闭'close'按钮
- js标签显示所有菜单项的最后一个条目的标签
- 单击菜单项时显示导航下拉菜单
- 垂直下拉菜单显示子菜单,当单击另一个菜单项时关闭前一个菜单项
- 如何创建在单击菜单项时显示的框
- 当我滚动到每个有缺陷的部分时,菜单项得到突出显示
- 如何在D3 Js上下文菜单项旁边显示图像
- 鼠标在菜单项上的引导程序下拉菜单应在右侧显示编辑/删除图标
- 如何在单击相应菜单项时显示/隐藏一部分内容,同时隐藏所有其他内容
- 在按钮角度上显示所选菜单项的值