mean.js菜单isPublic无法正常工作

use*_*587 6 mean mongodb node.js express angularjs

在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,但是围绕这个主题似乎有太多的混淆.有答案的人?

Mar*_*rry 8

如果你查看mean.js menus.client.services.jscore模块,最后一行看起来像这样: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);
Run Code Online (Sandbox Code Playgroud)

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

Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?', false); 
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助.