怎样在 Vue 里面绑定样式属性 ?

Vue 里绑定样式属性可以使用 v-bind:class=""v-bind:style="" , 二者都可以接受 变量 / 数组 / 对象. 不同点是 v-bind:class 里面绑定变量的值是 class , 指向对应的 类选择器 样式表, 而 v-bind:style 里面绑定的变量的值是一个 css 属性名 为 键名, 以 css 属性值 为键值 键值对, 这种键值对需要以 对象 的形式传进去, 也可以使用 数组 将多个 样式表对象 传进去. 以下简单展示了两种使用方法实现同样效果.

:class

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
  <title>Vue Test</title>
  <style>
      .style1 {
          width: 100px; height: 100px; background-color: tomato;
      }
      .style2 {
          margin: 0 auto;
          border-radius: 15px;
      }
  </style>
</head>
<body>
    <div id="app">
        <div v-bind:class="{style1,style2}"></div>
    </div>
    <script>
        var vApp = new Vue({
            el: "#app",
            data: {
                style1: "style1",
                style2: "style2"
            }
        })
    </script>
</body>
</html>

:style

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
  <title>Vue Test</title>
  <style>
      .style1 {
          width: 100px; height: 100px; background-color: tomato;
      }
      .style2 {
          margin: 0 auto;
          border-radius: 15px;
      }
  </style>
</head>
<body>
    <div id="app">
        <div v-bind:style="[style1,style2]"></div>
    </div>
    <script>
        var vApp = new Vue({
            el: "#app",
            data: {
                style1: {
                    "width": "100px",
                    "height": "100px",
                    "background-color": "tomato"
                },
                style2: {
                    "margin": "0 auto",
                    "border-radius": "15px"
                }
            }
        })
    </script>
</body>
</html>

效果

猜你喜欢

转载自www.cnblogs.com/aisowe/p/11431677.html