angularjs - mean.js 菜单 isPublic 不起作用

标签 angularjs node.js mongodb express mean

在 mean.js 应用程序中,我想在用户登录和退出时在顶部导航栏中显示菜单项。菜单项在用户登录时显示,但是,在用户退出时不会发生。

将“isPublic”属性设置为 true 的 mean.js 文档状态将允许在用户退出时菜单项显示在导航栏上;但这不起作用。这是代码:

Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?', true); Menus.addSubMenuItem('topbar', 'talks', 'List Talks', 'talks'); Menus.addSubMenuItem('topbar', 'talks', 'New Talk', 'talks/create');

我查看的解决方案都建议将 isPublic 属性设置为 true,但围绕这个主题似乎有太多的困惑。谁有答案?

最佳答案

如果您查看 mean.js 的 core 模块中的 menus.client.services.js,最后一行如下所示:this.addMenu( 'topbar');.如果将其更改为 this.addMenu('topbar', true);。当您未登录时,您将看到所有菜单项都显示在顶部栏上。然后您可以像在示例中一样添加菜单项,也可以不添加 true,因为它将继承自刚刚更改:

Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?');
OR
Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?', true);

如果您现在希望在未登录时隐藏它,或者如下所示:

Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?', false); 

我希望这会有所帮助。

关于angularjs - mean.js 菜单 isPublic 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27093701/

相关文章:

angularjs - 自定义模态面板大小 Ui Bootstrap

javascript - 存储用户 session : node. js、express、mongoose-auth

node.js - 检查 Node.js 中某个 http 链接中的文件是否存在

javascript - 在 package.json 中使用变量

asp.net-mvc - 将 MongoDB 和 SQL Server Express 与 Asp.net MVC 一起使用

node.js - 使用 Express 和 MongoDB 的好友请求系统

javascript - 如何只在本地运行 gulp.task?

javascript - 获取现有 ng-map 上的搜索框

javascript - AngularJS:在单独的行中显示对象数组

linux - EC2 上的 mongodb EBS