2014-11-23 46 views
6

在mean.js應用程序中,我想在用戶登錄和退出時在頂部導航欄中顯示菜單項。菜單項在用戶登錄時顯示,但是,用戶退出時不會發生這種情況。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,但似乎圍繞此主題存在太多混淆。任何人有答案?

回答

8

如果你看看menus.client.services.js中的core模塊的mean.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); 

我希望這有助於。

+0

完美。它現在有效。 – user3681587 2014-11-24 13:50:15