ホームページ > ウェブフロントエンド > jsチュートリアル > iview-ui に基づくナビゲーション バーのパス設定 (コード例)

iview-ui に基づくナビゲーション バーのパス設定 (コード例)

不言
リリース: 2019-02-20 13:36:23
転載
2591 人が閲覧しました

この記事の内容は、iview-ui をベースにしたナビゲーション バーのパス設定 (コード例) です。必要な方は参考にしていただければ幸いです。

私の以前の会社のバックエンド管理システムは、テーブルをスワイプすることで作成されていました。私は長い間バックエンド管理システムを作成していませんでした。転職後、長いこと使っていなかったのでルーターのことを忘れかけていたので、ようやくルーターをいじり始めました。いくつかの共通モジュールを記録し、必要な友人に共有しました。

After

//router.js
let routes = [
    {
        path: '/',
        redirect: '/admin',
    },
    {
        path: '/login',
        name: 'login',
        meta: {title: '登录'},
        component: () => import('./components/login.vue')
    },
    {
        path: '/admin',
        name: 'admin',
        meta: {title: '主页'},
        component: () => import('./components/admin.vue'),
        children: [
            {
                path: 'operation',
                name: 'operation',
                meta: {title: '运营管理'},
                component: () => import('./components/admin/operation.vue')
            },
            {
                path: 'order',
                name: 'order',
                meta: {title: '订单中心'},
                redirect: 'order/index',
                component: () => import('./components/admin/order.vue'),
                children: [
                    {
                        path: 'index',
                        name: 'index',
                        meta: {title: ''},
                        component: () => import('./components/admin/ordercenter.vue')
                    },
                    {
                        path: 'detail',
                        name: 'detail',
                        meta: {title: '订单详情'},
                        component: () => import('./components/admin/orderdetail.vue')
                    },
                ]
            },
        ]
    },
]

export default routes
ログイン後にコピー

これはルーター パス構成テーブルの一部です

 /*面包屑路径处理*/
    eve_breadcrumbItem_change(){
        var list = this.$route.fullPath.split('/')//list[0]:是空格
        this.BreadcrumbItem = []
        function fn(obj, arr, index,self) {
            if (obj.hasOwnProperty('children')&&obj['children'].length>0) {
                for (let one of obj.children) {
                    if (one.name != 'index' && one.name == arr[index]) {
                        self.BreadcrumbItem.push({'title': one.meta.title, 'path': one.path})
                        return one.hasOwnProperty('children')&&one['children'].length>0?fn(one,arr,index+1,self):false
                    }
                }
            }
        }
        for(let one of this.$router.options.routes){
            if(one.hasOwnProperty('name')&&one.name == list[1]){
                this.BreadcrumbItem.push({'title': one.meta.title, 'path': one.path})
                fn(one,list,2,this)
            }
        }
    }
ログイン後にコピー

これがこの記事の焦点です。これは実際にはパス名を再帰的に再構成するだけです。ブレッドクラムにデータを渡します

watch: {
    '$route'(to, from) {
        this.eve_breadcrumbItem_change()
    }
},
...
mounted() {
    this.eve_breadcrumbItem_change()
},
ログイン後にコピー

これは、マウントされたページを再度呼び出すときにパスの変更を検出するために監視するだけでも簡単です。

結果

結果として、問題は自然に解決されます。ただし、パスの構成は他の人とは異なる場合があります。私は、デフォルトで グループの下にインデックス パスを置くのが良いと思います。ここでは注意してください。

以上がiview-ui に基づくナビゲーション バーのパス設定 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート