0

概要ではない:

1ワークス)ログインで
2)test1のボタンでメインページを表示し、ボタン
3をログアウト)を押してログアウト
4)
1動作しないログアウトとログインにするために、ページ
アウレリアsetRootはホームページで動作しますが、子ページに

を取られます)ログインで
2) test1のボタンでメインページを表示し、ボタンをログアウト
3)プレスtest1の
4)test1のページに移動します
5)プレス
ERROR [APP-ルータ]エラーをログアウト:ルートが見つかりません:/ test1の

私は私が苦労していると思うように私のコードをカットし、プランカを作ったが、私は使用している注射タグが好きではないため、レンダリングしない。あなたはまだコードレイアウトを見ることができます(もし誰かが注射の問題を解決できればすばらしいでしょう)。
plunker:http://embed.plnkr.co/V5IoGqDfmo1djd3kW6bZ/

アイデアは、入力モジュールは、2つだけのルートを持つルータがあることである - ログインおよびパスワード・リセット(plunkerからパスワードリセットをとった無関係に)。ユーザーがログインすると、アプリにルートが設定されます。アプリには、ログインしているユーザーだけがアクセスできる別のルーターがあります。

ログインすると、ログアウトボタンを押すとセッションが破棄され、ルートがエントリにリセットされます。

ユーザーがログインした場合、アプリのルータ(例:test1)のモジュールの1つをクリックしてから[ログアウト]をクリックすると、エラーが表示されます。エラー:[app-router]/test1の

私が試してみた:
1)ルートを設定する前にルータをリセットする(すなわちthis.router.reset())
2)ルートに設定する前に、ホームに移動(すなわちthis.router。ナビ( ''))
3)こちらの回答は
Aurelia router not working when resetting root
です。ここでは:
Aurelia clear route history when switching to other app using setRoot
私は基本的に動作しない場合、私はコードを再構築することを嬉しく思います。

答えて

0

私はこれは過去に修正されたバグだと思いますが、何らかの理由でそれが戻ってきたと思います。私は調査しようとします。

解決策として、両方のルータでmapUnknownRoutesを使用して、ユーザーを目的のルートにリダイレクトすることができます。たとえば:

ログインルータ

configureRouter(config, router) { 
     config.title = "Super Secret Project"; 
     config.map([ 
      { route: ["","login"], name: 'login', moduleId: "./login", nav: true, title: "Beginscherm" }, 
     ]); 

     this.router = router;  

     //default route, to avoid the "route not found error" 
     config.mapUnknownRoutes(instruction => { 
     return './login'; 
     }); 
    } 

認定ルータ

configureRouter(config, router) { 
     config.title = "Super Secret Project"; 
     config.map([ 
      { route: [ '', 'screen-1'], moduleId: "./screen-1", nav: true, title: "Beginscherm" }, 
      { route: 'screen-2', name:'screen-2', moduleId: "./screen-2", nav: true, title: "Beginscherm" } 
     ]); 

     //default route, to avoid "route not found" error 
     config.mapUnknownRoutes(instruction => { 
     return './screen-1'; 
     }); 

     this.router = router;   
    } 

実行例https://gist.run/?id=c3990aa3a5cbe22dc05bce2fdda0269a

は、Plunkerを使用していない、それは非常に遅いですしてください。代わりにGistRunを使用してください:)

+0

ありがとうございますFabio - 間違いなくPlunker以上のGunkerを使用します! – Naadof

関連する問題