2014-03-03 24 views
11

有基本HTML admin_layout.html在那裏我寫了這個:刪除從登錄頁面導航菜單

<body> 
    <div ng-include="'/static/partials/admin_navigation.html'"></div> 
    <div ng-view></div> 

想知道如何可以從登錄頁面中刪除管理員導航?

試圖在LoginCtrl中設置變量hide_menu,並用ng-if =「hide_menu」隱藏它,但這不適用於我。它隱藏所有管理面板中的菜單。

UPD:修正它添加到導航div菜單控制器。或者更好地創建菜單指令?

UPD2:

添加在admin_app.js

adminApp.run(function($rootScope, $location) { 
    $rootScope.location = $location; 
}); 

admin_layout.html

<nav ng-include="'/static/partials/admin_navigation.html'" ng-if="location.path() !== '/admin/login'"></nav> 

現在一切都正常工作

+0

的代碼,並要隱藏它僅在登錄頁面上? – Shomz

+0

你試過用ngshow還是nghide? –

+0

@Shomz不,我想刪除它,那些沒有登錄的人不會看到它。 – Luam

回答

7

固定使用的問題,我在寫UPD2我的問題

0

據我瞭解現在,你的問題是,「hide_menu」的值不取決於你當前的路線。

所以我建議你設置控制器的值到當前顯示的頁面。例如,您可以監聽$ routeChangeSuccess事件並相應地讀出$ route.current對象。

如果您需要更具體的幫助,請提供一個plunkr!

+0

我只是尋找類似於普通模板引擎的邏輯,你可以在一個視圖函數中定義變量,你將進一步在模板中檢查。 – Luam

0

是的,你可以使用ng-show或ng-hide。 像那些你不URL的想擁有的導航欄可以隱藏物聯網使用NG隱藏即對於你想要隱藏導航欄-http 網址:// * *的.com/view1.html

<div ng-include="'/static/partials/admin_navigation.html'" ng-hide="URL == '/view1.html'"></div> 
+0

我不想隱藏它,我想把它全部從DOM中刪除 – Luam

+0

你可以使用element.remove()函數將它從DOm中刪除,它將從DOM中刪除elemnets –

+0

這是舊的,但ng-if將其從DOM完全移除。 –

相關問題