亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Vue 創建靜態左側導航欄組件

使用 Vue 創建靜態左側導航欄組件

蠱毒傳說 2023-07-06 15:15:16
我需要在應用程序布局的左側放置一個垂直導航欄,并將內容全部放在右側。就目前情況而言,我不能這樣做。我的導航欄將所有內容向下推。我怎樣才能解決這個問題?這就是我的App.vue's模板的樣子:<template>? ? <div id="app">? ? ? ? <v-app>? ? ? ? ? ? <navbar/>? ? ? ? ? ? <v-main>? ? ? ? ? ? ? ? <v-container class="main-container">? ? ? ? ? ? ? ? ? ? <router-view/>? ? ? ? ? ? ? ? </v-container>? ? ? ? ? ? </v-main>? ? ? ? </v-app>? ? </div></template>對于navbar我正在使用 vuetify 的組件,特別是迷你導航欄?根據示例代碼,它當前的樣子如下:<template>? ? <v-navigation-drawer? ? ? ? v-model="drawer"? ? ? ? :mini-variant.sync="mini"? ? ? ? permanent? ? >? ? ? ? <v-list-item class="px-2">? ? ? ? ? ? <v-list-item-avatar>? ? ? ? ? ? ? ? <v-img src="https://randomuser.me/api/portraits/men/85.jpg"></v-img>? ? ? ? ? ? </v-list-item-avatar>? ? ? ? ? ? <v-list-item-title>John Leider</v-list-item-title>? ? ? ? ? ? <v-btn? ? ? ? ? ? ? ? icon? ? ? ? ? ? ? ? @click.stop="mini = !mini"? ? ? ? ? ? >? ? ? ? ? ? ? ? <v-icon>mdi-chevron-left</v-icon>? ? ? ? ? ? </v-btn>? ? ? ? </v-list-item>? ? ? ? <v-divider></v-divider>? ? ? ? <v-list dense>? ? ? ? ? ? <v-list-item? ? ? ? ? ? ? ? v-for="item in items"? ? ? ? ? ? ? ? :key="item.title"? ? ? ? ? ? ? ? link? ? ? ? ? ? >? ? ? ? ? ? ? ? <v-list-item-icon>? ? ? ? ? ? ? ? ? ? <v-icon>{{ item.icon }}</v-icon>? ? ? ? ? ? ? ? </v-list-item-icon>? ? ? ? ? ? ? ? <v-list-item-content>? ? ? ? ? ? ? ? ? ? <v-list-item-title>{{ item.title }}</v-list-item-title>? ? ? ? ? ? ? ? </v-list-item-content>? ? ? ? ? ? </v-list-item>? ? ? ? </v-list>? ? </v-navigation-drawer></template><script>import { Component, Prop, Vue } from 'vue-property-decorator';@Component<Navbar>({})export default class Navbar extends Vue {? ? private value: string = 'home';? ? private drawer: boolean = true;? ? private items: Array<Object> = [? ? ? ? { title: 'Home', icon: 'mdi-home-city' },? ? ? ? { title: 'My Account', icon: 'mdi-account' },? ? ? ? { title: 'Users', icon: 'mdi-account-group-outline' }? ? ]? ? private mini: boolean = true;}</script>正如上面提到的,這仍然只是將應用程序的所有內容向下推。這是目前的樣子:我該怎么做才能使導航欄在左側但在右側
查看完整描述

2 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

將導航欄和主要內容包裝在<v-row>:


<template>

  <div id="app">

    <v-app>

      <v-row>

        <navbar/>

        <v-main>

          <v-container class="main-container">

            <router-view/>

          </v-container>

        </v-main>

      </v-row>

    </v-app>

  </div>

</template>

默認情況下,v-app有一個帶有flex-direction: columnCSS 的內部包裝器,這意味著它的子元素是垂直放置的。通過將這兩個子元素包裝在 a 中v-row,您可以將它們放置在帶有 的包裝元素中flex-direction: row。


查看完整回答
反對 回復 2023-07-06
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

我猜你誤解了這些概念。您正在將 a 包裝在組件v-navigation-drawernavbar

Vuetify?v-navigation-drawer中,有一個用于構建側邊欄的組件,這就是您的組件處于垂直方向的原因。

編輯1

app您可以使用組件內的選項配置應用程序側邊欄或應用程序導航欄,如下所示:

? <v-navigation-drawer

? ? app

? >

? ...

? </v-navigation-drawer>

就像官方文檔中一樣。如果你這樣做,該組件將正常工作,并且你的內容將不會被下推。


查看完整回答
反對 回復 2023-07-06
  • 2 回答
  • 0 關注
  • 344 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號