mean.js菜单是公共不工作

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

将“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');

我所看到的解决scheme都build议将isPublic属性设置为true,但似乎对此主题有太多的困惑。 任何人有答案?

       

网上收集的解决方案 "mean.js菜单是公共不工作"

如果你在menus.client.services.jscore模块中查看menus.client.services.js,最后一行看起来像这样: this.addMenu('topbar'); 。 如果您将其更改为this.addMenu('topbar', true); 。 当你没有login的时候,你会看到在顶栏上显示的所有菜单项。然后你可以像你的例子一样添加你的菜单项,或者没有true菜单项,因为它会从刚才改变的设置inheritance它:

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

或者像下面这样,如果你现在想在没有login的时候隐藏它:

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

我希望这有帮助。