php - vue-router でルーティングを動的に追加する際の問題
为情所困
为情所困 2017-05-16 13:07:46
0
1
433

簡単な説明

最近、vue-router を使用して動的にルートを追加する際に、RBAC に基づく許可制御の問題を研究しています。

一般的な考え方は次のとおりです。

  • バックグラウンド ユーザーがログインに成功すると、そのユーザーに対応する権限リストがサーバーから取得され、sessionStorage に保存されます。

  • ユーザーをバックエンドのホームページにリダイレクトする

  • router.beforeEach() フックで、sessionStorage 内の許可リスト データを読み取り、router.addRoutes() を呼び出してルートを動的に追加します。

コード

 router.beforeEach(to、from、next)
    {
        ...
        let 許可 = JSON.parse(window.sessionStorage.getItem('permission'))
        /*permission = [...{"client_route":"/test"}...]*/
        if (許可) {
            newRoutes = [] にします
            Permission.map((項目, インデックス) => {
                newRoutes.push({
                    パス:'${item.client_route}',
                    コンポーネント: '../view${item.client_route.slice(1)}.vue',
                    メタ:{認証:true}
                })
            })
            router.addRoutes(newRoutes)
        }
        ...
    }

ここで問題が発生します

<オル>
  • そのアイデアに問題はありますか?

  • 上記のコードには問題があります。パスとコンポーネントの ${} を処理する方法がわかりません。es6 をよく学習していないことをお詫びします。 ︶﹏︶")╭。私の本来の目的は、返されたルート名に基づいて .vue ファイル

  • をロードすることです。

    皆さん、ありがとう

    为情所困
    为情所困

    全員に返信(1)
    洪涛

    es6 では、${} がバッククォートで囲まれているため``,你的是单引号''、割り当ては失敗します

    いいねを押す +0
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート