🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

4504閲覧

Vuetify の toolbar内の navigation-drawer が開きません

coffeebar

総合スコア140

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/09/30 08:55

前提・実現したいこと

Vue+Vuetify+(Vuex+Vue Router+firestone)でクイズアプリを作ろうとしている初心者です。
上部のメニューバーを作成しているのですが、Vuetify の navigation-drawerが開きません。

発生している問題・エラーメッセージ

補足情報に書いた2つのサンプルプログラムから 要らない部分を削った上で、合成してメニューバーを作成しようとしています。
見た目は思い通りになったのですが、navigation-drawer が開かず メニューが出ません。

該当のソースコード

vue

1// Header.vue 2 3<template functional> 4 <div> 5 <v-navigation-drawer v-model="drawer" absolute temporary> 6 <v-list class="pt-0" dense> 7 <v-divider></v-divider> 8 <v-list-tile v-for="item in items" :key="item.title" :to="item.to"> 9 <v-list-tile-action> 10 <v-icon>{{ item.icon }}</v-icon> 11 </v-list-tile-action> 12 <v-list-tile-content> 13 <v-list-tile-title>{{ item.title }}</v-list-tile-title> 14 </v-list-tile-content> 15 </v-list-tile> 16 </v-list> 17 </v-navigation-drawer> 18 19 <v-toolbar dark color="primary" clipped-left fixed app> 20 <v-toolbar-side-icon 21 @click.stop="drawer = !drawer" 22 ></v-toolbar-side-icon> 23 <v-toolbar-title class="headline text-uppercase white--text"> 24 <span>Vuetify</span> 25 <span class="font-weight-light">MATERIAL DESIGN</span> 26 </v-toolbar-title> 27 <v-spacer></v-spacer> 28 29 <v-toolbar-items> 30 <v-btn flat to="/">Home</v-btn> 31 32 <v-menu 33 v-if="props.loggedIn" 34 auto 35 offset-y 36 bottom 37 > 38 <v-avatar slot="activator" class="ml-2 mr-5"> 39 <img :src="props.profile.picture" /> 40 </v-avatar> 41 <v-list> 42 <v-list-tile @click="props.logout"> 43 <v-list-tile-title>Logout</v-list-tile-title> 44 </v-list-tile> 45 </v-list> 46 47 </v-menu> 48 <v-btn 49 class="mr-5" 50 v-else 51 flat 52 @click="props.login" 53 >Login</v-btn> 54 </v-toolbar-items> 55 </v-toolbar> 56 </div> 57</template> 58 59<script> 60export default { 61 name: "Header", 62 data() { 63 return { 64 drawer: null, 65 items: [ 66 { title: "Home", icon: "dashboard", to: "/" }, 67 { title: "About", icon: "question_answer", to: "/about" } 68 ] 69 }; 70 } 71}; 72</script> 73 74 75//App.vue 76 77<template> 78 <v-app> 79 <Header 80 :login="login" 81 :logout="logout" 82 :profile="profile" 83 :loggedIn="loggedIn" 84 /> 85 <v-content> 86 <v-container> 87 <router-view></router-view> 88 </v-container> 89 </v-content> 90 <v-footer app></v-footer> 91 </v-app> 92</template> 93 94<script> 95 import { mapActions, mapGetters } from 'vuex'; 96 97 import Header from '@/components/Header'; 98 99 export default { 100 name: 'app', 101 102 components: { Header }, 103 104 computed: { 105 ...mapGetters('user', { 106 profile: 'profile', 107 loggedIn: 'loggedIn' 108 }) 109 }, 110 111 methods: { 112 ...mapActions('user', { 113 login: 'login', 114 logout: 'logout' 115 }) 116 } 117 }; 118</script>

試したこと

v-toolbar, v-navigation-drawer のプロパティ変更など試しましたが どうもうまくいきません。

補足情報(FW/ツールのバージョンなど)

1. Vuetify と Vue Router でレスポンシブなナビゲーションを作ってみました
https://qiita.com/yousakamori/items/6b5def3f3c1d1aeff5a4

2. Building a Progressive Quiz App with Vue, Vuex, and Firestore
https://medium.com/@amenallah.hsoumi/building-a-progressive-quiz-app-with-vue-vuex-and-firestore-part-1-ce73c7ba695d

バージョン
Vue 2.6.10
Vuetify 2.0.19

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

今利用されているVuetifyのバージョンは2系ですが、参考にされている記事では1.5系を使われているようです。
2系になって消えたpropsやタグがありますので、最新のドキュメントを見られるのがよいかと思います。
https://vuetifyjs.com/en/components/toolbars

v-navigation-drawerは大丈夫そうですが、
v-toolbarまわりは変更が必要ですね。
clipped-leftのpropsもありませんし、v-toolbar-side-iconのコンポーネントもありません(替わりに v-app-bar-nav-iconを使います)

投稿2019/09/30 14:25

8zca

総合スコア559

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coffeebar

2019/10/02 08:54

8zca様、お礼が遅れてすみません。 Vuetify2.0に下位互換性が無いことを知りませんでした。 v-app-barで作り直そうとしておりますが、どうもバージョン2へのアップデートがうまくいっていない ようで、「v-app-bar-nav-iconは登録されてないよ」みたいなエラーが出ました。 https://qiita.com/filunK/items/e71999d5abef404744b3 https://qiita.com/hiyoko3/items/edda7901e145711de213 ↑ このあたりを見て、環境を整えようとしているのですが、まだうまくいきません。 やっぱり難しいですね><
8zca

2019/10/02 13:37

こんばんは。 最初から2系をインストールして開発されたわけではなく、1系からアップグレードされたかんじですかね?
coffeebar

2019/10/04 13:51

確か そうだったと思います。色々試しているうちに、ドツボにハマってどんどん悪化させてしまったようです。一から環境を作り直して、やってみます。一旦この質問は閉じて、また改めます。 ご回答、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問