Hi all,
環境:vs 2013 express for web,熱毛巾角1.2,Breeze.WebApi2,sql server 2012 express。熱毛巾角1.2,玩菜單
我希望能夠添加或刪除我的網絡應用程序菜單中的項目,是否有可能?
我見過其中的菜單是建立並返回由getRoutes()的config.route.js:
function getRoutes() {
var rts = [
{
url: '/',
config: {
templateUrl: 'app/dashboard/dashboard.html',
title: 'dashboard',
settings: {
nav: 2,
content: '<i class="fa fa-dashboard"></i> Dashboard'
}
}
},
{
url: '/admin',
config: {
title: 'admin',
templateUrl: 'app/admin/admin.html',
settings: {
nav: 6,
content: "<i class='fa fa-dashboard'></i> GUIGUI's Homepage"
}
}
}, {
url: '/register',
config: {
title: 'register',
templateUrl: 'app/register/register.html',
settings: {
nav: 4,
content: '<i class="fa fa-lock"></i> Register'
},
visible: false
}
}, {
url: '/login',
config: {
title: 'login',
templateUrl: 'app/login/login.html',
settings: {
nav: 5,
content: '<i class="fa fa-lock"></i> Login'
}
}
}, {
url: '/',
config: {
title: 'Client',
templateUrl: 'app/client/client.html',
settings: {
nav: 1,
content: '<i class="fa fa-dashboard"></i> client'
}
}
}, {
url: '/mission',
config: {
title: 'Mission',
templateUrl: 'app/mission/mission.html',
settings: {
nav: 7,
content: '<i class="fa fa-lock"></i> mission'
}
}
}
, {
url: '/uploadFile',
config: {
title: 'uploadFile',
templateUrl: 'app/uploadFile/uploadFile.html',
settings: {
nav: 8,
content: '<i class="fa fa-lock"></i> uploadFile'
}
}
}
];
return rts;
}
(應用程序與客戶開始)。
我創建了一個認證服務來知道當前用戶(如果有一個登錄)。
我的問題是:在哪裏更新菜單更明智?
我認爲config.route.js在啓動時加載一次。
我的目的是根據用戶是否登錄或不登陸項目添加或刪除項目,可能嗎?
在哪裏注入authenticationService來更新菜單?
如果有兩組菜單,你將如何解決這個問題。一個在側邊欄,一個在topnavbar。側欄菜單取決於topnavbar選擇的菜單。比方說,頂層菜單說,客戶,供應商,訂單等,側欄根據導航欄選擇的菜單應顯示創建客戶,列表客戶在topnavbar上選擇客戶 –