0
点赞
收藏
分享

微信扫一扫

Vue入门学习笔记(九)

程序猿不脱发2 2022-01-06 阅读 82

computed和watch之间的区别

computed和watch之间的区别

computed和watch之间的区别:
       1.computed能完成的功能,watch都可以完成。
       2.watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作。

两个重要的小原则:
       1.所被Vue管理的函数,最好写成普通函数,这样this的指向才是vm或组件实例对象。
       2.所有不被Vue管理的函数(定时器的回调函数,ajax的回调函数等),最好写成箭头函数,
这样this的指向才是vm或组件实例对象。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>姓名案例_watch实现</title>
    <!--引入Vue-->
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        姓: <input type="text" v-model="firstName"><br /><br />
        名: <input type="text" v-model="lastName"><br /><br />
        全名: <span>{{fullName}}</span>
    </div>
</body>
<script>
    Vue.config.productionTip = false	//阻止vue在启动时生成生产提示
    new Vue({
        el:'#root',
        data:{
            firstName:'张',
            lastName:'三',
            fullName:'张-三'
        },
        watch:{
            firstName(val){
            	//设置异步任务定时处理
                setTimeout(() => {
                    this.fullName = val + '-' + this.lastName
                }, 1000);
            },
            lastName(val){
                this.fullName = this.firstName + '-' + val
            }
        },
        //coumputed无法进行异步任务
        // computed:{
        //     fullName(){
        //         console.log('get被调用了');
        //         return this.firstName + '-' + this.lastName
        //     }
        // }
    })
</script>
</html>
举报

相关推荐

0 条评论