vue学习(15)watch和computed

简介: vue学习(15)watch和computed
<!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>姓名案例_watch实现</title>
</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>
    <script src="../js/vue.js"></script>
    <script type="text/javascript">
        Vue.config.procuctionTip = false;
        const vm = new Vue({
   
            el: '#root',
            data: {
   
                firstName: '张',
                lastName: '三',
                fullName: '张-三'
            },
            computed: {
   
                // fullName(){
   
                //     return this.firstName + '-' + this.lastName;
                // }
            },
            watch: {
   
                firstName(val) {
   
                    setTimeout(() => {
   
                        this.fullName = val + '-' + this.lastName;
                    }, 1000);
                },
                lastName(val) {
   
                    this.fullName = this.firstName + '-' + val;
                }
            }
        })
    </script>
</body>

</html>

知识点
1:侦听属性watch可以开启异步任务,但计算属性就不能开启异步去维护数据。
2:定时器的回调是js引擎帮忙调用的,如果写成普通函数形式,里面的this,就是指window。
3:watch和computed之间的区别:
(1):computed可以完成的功能,watch也能实现。
(2):watch能完成的功能,computed不一定能实现,比如watch可以进行异步操作。
4:两个重要的小原则:
(1):所被vue管理的函数最好写成普通函数。
(2):所有不被vue管理的函数(定时器的回调函数,ajax的回调等),最好写成箭头函数。这样this的指向才是vm或组件实例。

目录
相关文章
|
1天前
|
JavaScript 前端开发 网络架构
vue 路由器history和hash工作模式
vue 路由器history和hash工作模式
|
3天前
|
JSON JavaScript 前端开发
vue尚品汇商城项目-day00【项目介绍:此项目是基于vue2的前台电商项目和后台管理系统】
vue尚品汇商城项目-day00【项目介绍:此项目是基于vue2的前台电商项目和后台管理系统】
10 1
|
3天前
|
JSON 缓存 JavaScript
vue尚品汇商城项目-day01【1.vue-cli脚手架初始化项目生成文件的介绍】
vue尚品汇商城项目-day01【1.vue-cli脚手架初始化项目生成文件的介绍】
10 0
|
3天前
|
JavaScript
vue尚品汇商城项目-day01【2.vue-cli脚手架初始化项目的其他配置】
vue尚品汇商城项目-day01【2.vue-cli脚手架初始化项目的其他配置】
9 0
|
11月前
|
缓存 JavaScript
vue中computed和watch的区别
vue中computed和watch的区别
|
缓存 JavaScript
Vue 中 computed 和 watch 的区别
Vue 中 computed 和 watch 的区别
84 0
|
5月前
|
缓存 JavaScript
聊一聊Vue中的computed和watch区别
聊一聊Vue中的computed和watch区别
|
5月前
|
缓存 JavaScript
Vue 中的 computed 和 watch 的区别
Vue 中的 computed 和 watch 的区别
|
11月前
|
缓存 JavaScript 前端开发
Vue 中的 computed 和 watch 的区别
Vue 中的 computed 和 watch 的区别
155 0
|
缓存 JavaScript
Vue中computed和watch的区别
1、支持缓存,只有依赖数据发生改变,才会重新进行计算 2、不支持异步,当computed内有异步操作时无效,无法监听数据的变化
175 0
Vue中computed和watch的区别