【问题标题】:Understanding the Stucture of a Vue Project (vuetify)了解 Vue 项目的结构 (vuetify)
【发布时间】:2018-06-27 14:36:31
【问题描述】:

我是 Vue 和 Vuetify 的新手,我只是想弄清楚我在编写代码时应该具备的结构。我开始对 v-layout 和 v-flex 之间的区别感到有些困惑。

这是我当前的结构:我正在尝试将 flex xs8(带有房间类型)放置在 flex xs2(带有“测试”段落)旁边。

<v-container ma-6 grid-list-xl>

            <v-layout>

                <v-flex md8 xs12>

                    <!-- My spaces -->
                    <v-layout v-for="space in spaces" v-if="space.id === selected" :key="space.id" row wrap>

                        <!-- The rooms -->
                        <v-flex v-for="room in space.rooms" :key="room.id" xs12 md6>

                            <!-- A room -->
                            <v-card class="card-round">

                                <!-- Image -->
                                    <v-carousel>
                                        <v-carousel-item v-for="image in room.images" :src="image.src" :key="image.id"></v-carousel-item>
                                    </v-carousel>

                                    <!-- Information -->
                                    <v-layout row wrap>

                                        <v-card-text primary-title>

                                            <v-flex xs8>
                                                <p> {{ room.type }} </p>
                                                <h3 class="headline"> {{ room.name }} </h3>
                                            </v-flex>

                                            <v-flex xs2>
                                                <p>test</p>
                                            </v-flex>

                                        </v-card-text>

                                    </v-layout>
                            </v-card>
                        </v-flex>
                    </v-layout>
                </v-flex>

                <v-flex hidden-md-and-down>
                    <p>temp sidebar</p>
                </v-flex>

            </v-layout>

</v-container>

【问题讨论】:

    标签: vue.js vuejs2 vuetify.js


    【解决方案1】:

    如果您希望任何元素并排显示(内联),请将它们放入 v-layout

    <v-layout>
    
      <v-flex xs8>
        <p> {{ room.type }} </p>
        <h3 class="headline"> {{ room.name }} </h3>
      </v-flex>
    
      <v-flex xs2>
        <p>test</p>
      </v-flex>
    
    </v-layout>
    

    【讨论】:

    • 非常感谢,只需将 v 布局移动到卡片元素中即可修复它!
    • @Otto 没问题。顺便说一句,为了解决您上面的问题,是的,您可以将v-layout 放入v-flex 中。这样想 - 如果您需要并排显示一些元素,只需用 v-layout 包装它们
    【解决方案2】:

    &lt;v-layout&gt; 标签组件仅代表弹性框(基本上,一个带有display: flex; CSS 规则的 div)。

    您放在&lt;v-layout&gt; 标签内的&lt;v-flex&gt; 标签组件是您的弹性框的元素(您可以使用flex CSS 规则自定义“增长/收缩行为”的元素)

    就是这样。

    【讨论】:

    • 好的,谢谢!但是,我可以像上面那样将 放在 中吗?还是我应该只放一个 并在里面放一个 然后放一个
    • 是的,你可以,在这种情况下,这只不过是另一个 div 中的一个 div
    猜你喜欢
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 2013-12-13
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    相关资源
    最近更新 更多