美文网首页
vue笔记-21(computed计算属性)

vue笔记-21(computed计算属性)

作者: 7ColorLotus | 来源:发表于2020-10-16 11:29 被阅读0次
  • computed也是vm的一个属性对象
  • 在computed中,可以定义一些属性,这些属性叫做计算属性,计算属性的本质就是一个方法,只不过我们在使用这些计算属性的时候,是把他们的名称直接当作属性来使用的,并不会把计算属性当作方法使用
  • 注意事项
    1. 注意一:计算属性在引用的时候一定不要加()去调用,直接把它当作普通属性去使用就好了
    2. 注意二:只要计算属性function内部所用到的任何data中的数据发生了变化,就会立即重新计算这个计算属性的值
    3. 注意三:计算属性的求值结果,会被缓存起来,方便下次直接使用,如果计算属性方法中,所有来的任何数据都没有发生过变化,则不会重新对计算属性求值
  • 代码demo
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>08使用computed监控数据动态变化</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>

<body>
    <div id="app">
        <input type="text" v-model="first"> +
        <input type="text" v-model="second"> =
        <input type="text" v-model="full">

        <p></p>
        {{ full }}
    </div>

    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                first: '',
                second: '',
            },
            method:{},
            computed:{
                full(){ //full方法名会被当做data属性来使用,并且first和second有任何变化都会调用full方法更新数据
                    console.log('11111') //用来测试full值发生变化只会计算一次,页面其他地方使用的时候直接从缓存里读取
                    return this.first + "----" + this.second
                }
            }
        })
    </script>
</body>
</html>
  • method,watch和computed的区别:
    1. computed属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算,主要当作属性来使用
    2. methods方便表示一个具体的操作,主要书写业务逻辑
    3. watch一个对象,键是需要观察的表达式,值是对应回调函数。主要用来监听某些待定数据的变化,从而进行某些具体的业务逻辑操作;可以看做是computed和methods的结合体

相关文章

网友评论

      本文标题:vue笔记-21(computed计算属性)

      本文链接:https://www.haomeiwen.com/subject/jhkzpktx.html