美文网首页
vue学习(13)监视属性

vue学习(13)监视属性

作者: 哆啦C梦的百宝箱 | 来源:发表于2022-02-24 10:05 被阅读0次
    <!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>天气案例-监视属性</title>
    </head>
    
    <body>
        <div id="root">
            <div>今天天气很{{info}}</div>
            <button @click="changeWeather">切换天气</button>
        </div>
        <script src="../js/vue.js"></script>
        <script type="text/javascript">
            Vue.config.productionTip = false;//阻止 vue 在启动时生成生产提示
            const vm = new Vue({
                el: '#root',
                data: {
                    isHot: false
                },
                computed: {
                    info() {
                        return this.isHot ? '炎热' : '凉爽';
                    }
                },
                methods: {
                    changeWeather() {
                        this.isHot = !this.isHot;
                    }
                },
                watch: {
                    isHot: {
                        //初始化时,让handler调用一次
                        immediate: true,//默认是false
                        //handler什么时候调用?isHot发生改变的时候。
                        handler(newValue, oldValue) {
                            console.log('isHot被修改了', newValue, oldValue);
                        }
                    }
                }
            });
            //第二种写法
            vm.$watch('isHot', {
                //初始化时,让handler调用一次
                immediate: true,//默认是false
                //handler什么时候调用?isHot发生改变的时候。
                handler(newValue, oldValue) {
                    console.log('isHot被修改了', newValue, oldValue);
                }
            })
        </script>
    </body>
    
    </html>
    
    知识点

    1:watch监视属性
    (1)当被监视的属性发生变化时,回调函数自动调用,进行相关操作。
    (2)监视的属性必须存在,才能进行监视!!
    (3)监视的两种写法:
    (3.1)一个是在new Vue中传入watch配置。
    (3.2)通过vm.$watch进行监视。
    2:watch可以写配置项中,也可以使用$watch。如果创建实例的时候,明确知道监视谁,则可以直接写在配置项中。如果创建实例的时候不知道监视谁,后续需要根据用户的行为确定。则可以使用$watch这个api。

    相关文章

      网友评论

          本文标题:vue学习(13)监视属性

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