VUE-要素管理者を使用する前に、ダイナミックルーティング、ダイナミック表示サイドバーを追加するために使用される小型プロジェクトをやりました
私はページを切り替えると、コンソール常に警告ルーティングは連続ジャンプページの後に数回繰り返し、コンソールが満たされたこれらの警告でした、
だから、それに対処
理由addRoutes方法はちょうどあなたが新しいルートを息を支援することです、そしてあなたは、元のルートを排除する他のヘルプはありません!
私たちは、元のコードを見て
インターセプタコードをルーティング:
permission.js:
IF (ロール){ 関数asyncFun(){ 戻り 、新たな新プロミス(関数(解決){ store.dispatch(。次いで、(()=> { '許可/ generateRoutes'、ロールの{})// アクセスするために生成されたルーティングテーブルを ルータ。addRoutes(store.getters.routers); // 動的ルーティングテーブルにアクセス可能追加 router.options.routesの=のstore.getters.routersを; }); 解決(); }) } 。asyncFun()を(() => { 次に(); }); }
()メソッドの呼び出しは、ネイティブメソッドが付属してルータである上記addRoutes、任意の元のルートは、ダイナミックルーティングを追加する前にルートがあり、それは削除されません!!
私たちは、あなたがこのエラーレポートを防ぐことができ、ルーティングが前にそれを空にし、ダイナミックルーティングを追加する必要があります
これはので、私たちは、カスタムメソッドは空にする前にルートを追加する必要がありpermission.js router.jsからの参照を持つルータがで来ているので、中router.jsでカスタムメソッドを高めるために、:
次のようにrouter.jsは加えました:
ルータ。selfaddRoutes = 関数(paramsは){ router.matcher = 新しいルーター()マッチャー。 router.addRoutes(paramsは) }
router.js最後のルータは、オブジェクトをエクスポートしているので。だから我々は唯一このルータでのオブジェクトに、このメソッドを追加する必要があります
後permission.jsルータ。AddRoutesは、ルータを取り替えた。 SelfaddRoutes に