vue computed监听多个属性

Posted Welcome to My Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue computed监听多个属性相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <p>{{ myMsg }}</p>
    <button @click="clickHandler">修改</button>
</div>
<script src="vue.js"></script>
<script>
    let vm = new Vue({
        el: "#app",
        data() {
            return {
                msg: "alex",
                age: 18,
            }
        },
        //在methods属性 和 computed属性 里声明的所有的方法里面的this指的都是vue, 里面不要用箭头 ***********
        //箭头函数 只用在定时器和ajax里面
        methods: { //里面的每一个方法要挂载到 vm上
            clickHandler() {//单体函数中的this就是当前对象vm
                console.log(this);
                this.msg = "wusir"; // 当msg的数据属性 发生改变,下面的watch就会立马监听**
                this.age = 20;
            },

            clickHandler2: function () {//这个里面的this也是当前对象vm
                console.log(this)  //在声明的函数内部  this指的是当前对象vue
            },

            //箭头函数 只用在定时器和ajax里面
            clickHandler3: () => {//但是箭头函数中的this是当前对象的父类window method里面不要用箭头
                console.log(this)//在声明的函数内部  this指的是当前对象vm的父类 window
            },
        },
        computed: { //对应的是一个对象  里面放key-value 计算属性默认只有getter方法 监听的是msg和age
            myMsg: function () { //声明一个方法
                //写业务逻辑

                return `我的名字叫${this.msg},年龄是${this.age}`;
            }
        }
    })
</script>
</body>
</html>

 

以上是关于vue computed监听多个属性的主要内容,如果未能解决你的问题,请参考以下文章

vue之watch和计算属性computed

vue 同时监听多个值的变化

Vue之computed

vue watch和computed的使用场景

Vue学习3:计算属性computed与监听器

vue 中的computed 和 watch 监听