computed和watch

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>watch实现</title>
        <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <!--computed和watch的区别
                1.computed可以完成的功能,watch都可以完成
                2.watch完成的功能,computed不一定能完成;例如watch可以进行异步操作
        两个重要小原则:
                1.被vue管理的函数,最好写成普通函数,这样this的指向才是vm或组件实例对象
                2.不被vue所管理的函数(定时器的回调函数,ajax的回调函数),最好写成箭头函数,这样this的指向才是vm或组件实例对象
        -->
        <div id="app"><input type="text" name="" id="" v-model="firstname" /><input type="text" name="" id="" v-model="lastname" />
            全名<span>{{fullname}}</span>
        </div>
        <script type="text/javascript">
            new Vue({
                el:'#app',
                data:{
                    firstname:'',
                    lastname:'建国',
                    fullname:'李-建国'
                },
                watch:{
                    firstname(newVal){
                        this.fullname = newVal+'-'+this.lastname
                    },
                    lastname(newVal){
                        this.fullname = this.firstname +'-'+newVal
                    }
                }
            })
    </script>
    </body>
</html>

 

posted @ 2021-08-17 19:47  幻影之舞  阅读(45)  评论(0)    收藏  举报