VUETIFY/VUEJS- MD/LG/XL的多个条件

发布于 2025-01-31 06:55:49 字数 338 浏览 0 评论 0原文

我在这里挣扎在基本上在Vue/vuetify中的断点上应用条件

,我想说的...如果阵列的长度可除以2,则MD = 6,如果它可以由3分,则MD = 12

<v-col cols="12"
    :md="module.plannings.length % 2 === 0 ? 6  ? module.plannings.length % 2 === 0 ? 12 : 12"
    v-for="planning in module.plannings"
    :key="planning.id"
>

清楚地清楚我在这里以错误的方式进行操作..正确的语法是什么?

I'm struggling here applying conditions on the breakpoints in Vue/Vuetify

Basically, I want to say... if the length of the array is divisible by 2, then MD=6, if it is divisible by 3 then MD=12

<v-col cols="12"
    :md="module.plannings.length % 2 === 0 ? 6  ? module.plannings.length % 2 === 0 ? 12 : 12"
    v-for="planning in module.plannings"
    :key="planning.id"
>

Clearly I'm going about it the wrong way here.. what would be the correct syntax?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瑾夏年华 2025-02-07 06:55:49

您可以制作计算属性:

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data() {
    return {
      module: {id: 0, plannings: [0,1,2,3,4,5]}
    }
  },
  computed: {
    msize() {
      return this.module.plannings.length % 2 === 0 ? 
        6 : this.module.plannings.length % 3 === 0 ? 
        12 : 12
    }
  }
})
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
<div id="app">
  <v-app>
    <v-main>
      <v-container>
        <v-col cols="12"
            :md="msize"
            v-for="planning in module.plannings"
            :key="planning.id"
        >
        {{planning}}
        </v-col>
      </v-container>
    </v-main>
  </v-app>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.js"></script>

You can make computed property:

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data() {
    return {
      module: {id: 0, plannings: [0,1,2,3,4,5]}
    }
  },
  computed: {
    msize() {
      return this.module.plannings.length % 2 === 0 ? 
        6 : this.module.plannings.length % 3 === 0 ? 
        12 : 12
    }
  }
})
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
<div id="app">
  <v-app>
    <v-main>
      <v-container>
        <v-col cols="12"
            :md="msize"
            v-for="planning in module.plannings"
            :key="planning.id"
        >
        {{planning}}
        </v-col>
      </v-container>
    </v-main>
  </v-app>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.js"></script>

偏闹i 2025-02-07 06:55:49

正确的语法将为:md =“ plannings.length%2 === 0?6:12”

demo

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: () => ({
    plannings: [{
      id: 1
    }, {
      id: 2
    }]
   }),
});
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css"/>
<div id="app">
  <v-row>
    <v-col
           :md="plannings.length % 2 === 0 ? 6 : 12"
           v-for="planning in plannings"
           :key="planning.id"
           style="background-color: yellow"
           >
           {{ planning.id }}
    </v-col>
  </v-row>
</div>

Correct syntax will be :md="plannings.length % 2 === 0 ? 6 : 12"

Demo :

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: () => ({
    plannings: [{
      id: 1
    }, {
      id: 2
    }]
   }),
});
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css"/>
<div id="app">
  <v-row>
    <v-col
           :md="plannings.length % 2 === 0 ? 6 : 12"
           v-for="planning in plannings"
           :key="planning.id"
           style="background-color: yellow"
           >
           {{ planning.id }}
    </v-col>
  </v-row>
</div>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文