gpt4 book ai didi

javascript - 如何根据用户在angularjs中的 Angular 色显示不同的菜单项?

转载 作者:行者123 更新时间:2023-11-30 05:34:53 24 4
gpt4 key购买 nike

我正在使用 meanjs堆栈来编写一个网络应用程序。我需要向所有用户(登录或未登录)显示下拉菜单,然后在用户登录时向下拉菜单添加更多元素。

例如,假设您有一个产品列表。您创建了一个名为“Products”的下拉菜单,其中包含元素“List products”。无论用户是否登录,都会出现此“列出产品”元素。如果用户已登录,则在名为“编辑库存”的下拉列表中显示另一个元素。

meanjs 网站说堆栈使用了 "AngularJS Menus Service"并列出了一些文档,但我找不到有关此服务使用情况的更多信息。链接文档提到了可选参数 isPublicroles,但是当我尝试使用它们时,没有任何效果。

代码 Menus.addMenuItem('topbar', 'Bios', 'bios', 'dropdown', '/bios(/create)?'); 仅在用户已登录。

它与 Menus.addMenuItem('topbar', 'Bios', 'bios', 'dropdown', '/bios(/create)?', true); 具有相同的效果;。可选的 isPublic 参数似乎没有什么区别。我做错了什么?

我找到了 this question ,相似但不完全相同,也没有得到令人满意的回答。

要使用 Angular 的菜单服务,用户是否需要登录?

最佳答案

刚刚看了meanjs MenuService源码,这是addMenuItem:

 this.addMenuItem = function (menuId, menuItemTitle, menuItemURL, menuItemType, menuItemUIRoute, isPublic, roles) {
// Validate that the menu exists
this.validateMenuExistance(menuId);
// Push new menu item
this.menus[menuId].items.push({
title: menuItemTitle,
link: menuItemURL,
menuItemType: menuItemType || 'item',
menuItemClass: menuItemType,
uiRoute: menuItemUIRoute || '/' + menuItemURL,
isPublic: isPublic || this.menus[menuId].isPublic,
roles: roles || this.defaultRoles,
items: [],
shouldRender: shouldRender
});
// Return the menu object
return this.menus[menuId];
};

从这段代码中,如果你想重置 isPublic,你应该用 menuItemUIRouteisPublic 调用 func。

因为如果您没有传递 menuItemUIRoute。参数会混淆。

P.S 这是 Source Code在第 237 行,文档不正确或者这是一个错误。希望这对你有用。 :)

关于javascript - 如何根据用户在angularjs中的 Angular 色显示不同的菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24501074/

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