在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','talk','New Talk','talks / create');
我看到的解决方案,都建议将isPublic属性设置为true,但是围绕这个主题似乎有太多的混淆。有答案的人吗?
答案 0 :(得分:8)
如果您在mean.js的menus.client.services.js
模块中查看core
,则最后一行如下所示: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);
我希望这会有所帮助。