概要
主に管理画面などのサイドメニューを作る際の個人的なメモ。
たぶん、改良の余地は大量にあると思うので、思いつき次第更新していく予定。
基本的には、Web上で公開されているいろいろな情報の寄せ集めです。。。
<template>
<v-app>
<v-navigation-drawer app v-model="drawer" clipped>
<v-container>
<v-list-item>
<v-list-item-content>
<v-list-item-title class="title grey--text text--darken-2">
MENU
</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-divider></v-divider>
<v-list dense nav>
<template v-for="nav_list in nav_lists">
<v-list-item
v-if="!nav_list.lists"
:to="nav_list.link"
:key="nav_list.name"
>
<v-list-item-icon>
<v-icon>{{ nav_list.icon }}</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>{{ nav_list.name }}</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-group
v-else
no-action
:prepend-icon="nav_list.icon"
:key="nav_list.name"
>
<template v-slot:activator>
<v-list-item-content>
<v-list-item-title>{{ nav_list.name }}</v-list-item-title>
</v-list-item-content>
</template>
<v-list-item
v-for="list in nav_list.lists"
:key="list.name"
:to="list.link"
:href="list.link"
v-bind="list.blank ? {target:'_blank',rel:'noopener noreferrer'}:false"
>
<v-list-item-title>{{ list.name }}</v-list-item-title>
</v-list-item>
</v-list-group>
</template>
</v-list>
</v-container>
</v-navigation-drawer>
...
nav_lists の中身はこんな感じ。
nav_lists:[
{ name: 'TOP',
link: '/',
},
{ name: 'ユーザー管理',
icon: 'mdi-account-box',
link: '/user',
},
{ name: 'Google',
lists:[ { name: 'Google Adsense', href: 'https://www.google.com/adsense/app', blank: true},
{ name: 'Google Search Console', href: 'https://www.google.com/webmasters/tools/home?hl=ja', blank: true},
{ name: 'Google Analytics', href: 'http://www.google.com/intl/ja_jp/analytics/', blank: true},
]
},
]
コメント