2016-05-13 9 views
0

すべてのルートを1つの.tsファイルに保存しています。main.tsがそのルートファイルのログインである最初のルートに来ています。どこで左のメニューをロードしたくないのですか?承認後、私は顧客またはサポートメンバーのいずれかにルーティングします。左メニューの私のルートには、与えられた役割ごとにポピュレートする必要があります。彼のシナリオをどのように実装するのですか?ロールベースのアウレリアルーティングの実装方法

答えて

0

Aureliaでのナビゲーションは、ルータ設定に渡す一連のjavascriptオブジェクトに基づいています。ロールに関する追加情報を含めるために、これらのオブジェクトを拡張することはできません。したがって、役割フィールドを追加できるはずです。

{ 
    route: ['', 'todo/list'], 
    name: 'ToDoList', 
    moduleId: './to-do/list', 
    nav: true, 
    title: 'To Do List', 
    authRoute: true, 
    role: 'TaskAdmin' 
} 

次に、ナビゲーション用のテンプレートを作成するときに、ロールとナビゲーション項目に基づいて表示すると便利です。

<li repeat.for="navItem of router.navigation" class="${showNav(navItem) ? 'showNav' : 'hideNav'}"> 
    <a href.bind="row.href">${row.title}</a> 
<li> 

対応jsのコードファイルに含まれる必要がある機能:ありさえあなた自身を構築する能力を備えて認証を設定するにはいくつかの方法がありますが、I'LL

showNav(navItem) { 
    return localStorage.getItem("role") === navItem.role; 
} 

あなたにいくつか指摘してください。

Blog Post on Aurelia-Auth

Aurelia-Authentication documentation

0

私はSaqibの答えに触発され、単純な役割ベースのナビゲーションの(非ts)要点を、作られました。

多分それは誰かを助けるでしょう:aurelia role-based routing

関連する問題