【Vue2】Computed 计算属性

 

计算属性在编写的时候是一个方法

但是在调用的时候作为属性使用

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./../lib/vue.js"></script>
  <script src="./../lib/jquery-3.6.0.min.js"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.6.0/dayjs.min.js"></script>
  <style>
    .box {
        width: 300px;
        height: 300px;
        border: 1px solid black;
    }
  </style>
</head>
<body>
<div id="app">
    <div>
        RGB-R: <input type="text" v-model.number="rgb_R"> <br>
        RGB-G: <input type="text" v-model.number="rgb_G"> <br>
        RGB-B: <input type="text" v-model.number="rgb_B"> <br>
    </div>
    <hr>
    <!-- 组件绑定的时候,注意是属性!,不是方法,不要加括号 -->
    <div class="box" :style="returnRGB">
        <span>rgb({{`${rgb_R}, ${rgb_G}, ${rgb_B}`}})</span>
        <!-- <span>{{this}}</span> -->
    </div>
</div>

<script>
const VIEW_MODEL1 = new Vue({
  el: '#app',
  data: {
    rgb_R: 99,
    rgb_G: 220,
    rgb_B: 99,
  },
  // 注意,计算属性,里面的方法名称,最后提供给组件的是一个变量属性
  // 计算属性的依赖源发生变化,属性将会重新计算
  computed: {
    returnRGB() {
      return {
          background: `rgb(${this.rgb_R}, ${this.rgb_G}, ${this.rgb_B})`
      }
    }
  }
})
</script>
</body>
</html>

 

如果属性需要传递参数,需要return一个闭包的处理

https://blog.csdn.net/acoolgiser/article/details/89056072

  

 

posted @ 2022-05-07 09:54  emdzz  阅读(65)  评论(0编辑  收藏  举报