Vue 中的条件样式介绍

发布于 2022-08-25 12:30:36 字数 2479 浏览 232 评论 0

Vue 的 v-bind 语法 支持通过 对象语法

const app = new Vue({
  data: () => ({ isGreen: true }),
  // `div` will have class 'green' if `isGreen` is true
  template: `
    <div v-bind:class="{ green: isGreen }"></div>
  `
});

// Remove the class 'green' from the `div`
app.$data.isGreen = false;

您可以有条件地绑定多个类,并使用 : 的简写 v-bind:

const app = new Vue({
  data: () => ({ green: true, small: false }),
  // `div` will have class 'green' if `green` is true
  // and 'small' if `small` is true.
  template: `
    <div :class="{ green, small }"></div>
  `
});

// Remove the class 'green' from the `div` and add class 'small'
app.$data.green = false;
app.$data.small = true;

字符串语法

您绑定到类的值 v-bind 可以是字符串,而不仅仅是对象。 例如您可以将类名存储在 data 数据中:

const app = new Vue({
  data: () => ({ myClass: 'green' }),
  // `div` will have whatever class or classes are in the
  // `myClass` data value.
  template: `
    <div :class="myClass"></div>
  `
});

// Remove the class 'green' from the `div` and replace it
// with the class 'small'
app.$data.myClass = 'small';

另一种巧妙的方法是 使用三元运算符 来决定元素将具有哪个类:

const app = new Vue({
  data: () => ({ isGreen: true }),
  // `div` will have class 'green' if `isGreen` is true.
  template: `
    <div :class="isGreen ? 'green' : 'small'"></div>
  `
});

// Remove the class 'green' from the `div` and replace it
// with the class 'small'
app.$data.isGreen = false;

数组语法

你也可以绑定 class 到一个数组。 然后 Vue 将组合数组中的所有元素以形成最终的类绑定。 这使您可以在一个声明中混合和匹配字符串和对象语法:

const app = new Vue({
  data: () => ({ green: true }),
  // `div` will have class 'green' if `green` is true, and
  // 'small' otherwise.
  template: `
    <div :class="[{ green }, green ? '' : 'small']"></div>
  `
});

// Remove the class 'green' from the `div` and replace it
// with the class 'small'
app.$data.green = false;

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

猛虎独行

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

小瓶盖

文章 0 评论 0

wxsp_Ukbq8xGR

文章 0 评论 0

1638627670

文章 0 评论 0

仅一夜美梦

文章 0 评论 0

夜访吸血鬼

文章 0 评论 0

近卫軍团

文章 0 评论 0

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