首页 > 其他分享 >[Vue]computed和watch的区别

[Vue]computed和watch的区别

时间:2023-10-25 13:22:51浏览次数:38  
标签:Vue computed watch value new name

computed 和 watch 之间的区别:
  1. computed 能完成的功能,watch 都可以完成。
  2. watch 能完成的功能,computed 不一定能完成,例如: watch 可以进行异步操作。
两个重要的小原则:
  1.所有被 Vue 管理的函数,最好写成普通函数,这样 this 的指向才是 vm 或组件实例对象。
  2.所有不被 Vue 所管理的函数(定时器的回调函数、ajax 的回调函数等),最好写成箭头函数。这样 this 的指向才是 vm 或组件实例对象。

 

<body>
    <div id="root">
        姓:<input type="text" v-model="first_name">
        <br>
        名:<input type="text" v-model="last_name">
        <br>
        <p>----&gt; {{ full_name }}</p>
        <p>----&gt; {{ full_name }}</p>
    </div>
</body>
<script>
    let vm = new Vue({
        el: "#root",
        data: {
            first_name: '',
            last_name: '',
            full_name: ''
        },
        watch: {
            first_name(new_value, old_value) {
                console.log('first_name changed!');
                setTimeout(() => {
                    this.full_name = new_value + '-' + this.last_name
                }, 1000);
            },

            last_name(new_value, old_value) {
                console.log('last_name changed!');
                this.full_name = this.first_name + '-' + new_value
            },
        },
        methods: {
        }
    })
</script>

 

标签:Vue,computed,watch,value,new,name
From: https://www.cnblogs.com/ximu1009/p/17775695.html

相关文章

  • vue中如何使用svg,以及碰到的相应问题
    安装cnpminstallsvg-sprite-loader--save-dev创建svg文件夹存放svg图标创建icons文件夹,在icons文件夹下创建svg文件夹存放本地svg图标。vue.config.js中配置svg图片config.module.rule("svg").exclude.add(resolve("src/icons")).end();config.module.rule......
  • vue3 elementplus table表格内添加checkbox和行号
    1.仅添加复选框<el-table-columntype="selection"width="55"></el-table-column>2.添加复选框和文字行号在一列<el-table-column><template#header><el-checkboxv-model="selectAll"@change="han......
  • vue 首次加载项目,控制台报错: Redirected when going from "/" to "/login"
    第一次加载加载页面时报错如下:Redirectedwhengoingfrom"/"to"/login"viaanavigationguard. ![image](https://img2023.cnblogs.com/blog/1880163/202310/1880163-20231025113840444-1010075971.png)后续在地址栏直接添加/login,index,错误页面等均正常无报错.路由......
  • Jenkins配置java和vue构建环境
    jdk,maven,node,localtime等配置可通过挂载的方式进行配置前提条件是虚拟机中已配置好jdk,maven,node等环境注意自己虚拟机相关环境配置的路径以下样例为我自己的虚拟机中的配置路径-v宿主机(虚拟机)路径:容器路径dockerrun--namejenkins-p28081:8080-p50000:50000-v/v......
  • vue3 动态加载组件
    <el-dropdownstyle="margin:0px"><el-buttontype="primary">视图</el-button><template#dropdown><el-dropdown-menu><el-dropdown-itemv-for="dropItemindropI......
  • js中使用css变量(vue)
    html<divclass="test":style="{'--backgroundColor':backgroundColor}"></div>jscss .test{background-color:var(--backgroundColor);} ......
  • 28-Vue脚手架-props配置项
    props配置项props让组件接收外部传过来的数据1)传递数据这里需要注意,通过age="18"的方式,传递进去的数据是字符类型的,通过动态绑定:age="26"的方式,传递进去的数据是整型类型<!--这里需要注意,:age="26"代表v-bind动态绑定,传入的age是int类型--><Studentname="马铃薯......
  • Vue无线滚动不触发问题
    Vue的v-infinite-scroll="load" 会无线触发  要定义实际高度和可视高度之间关系设置style="overflow:auto;height:calc(100vh - 49px)"  100vh = 100% <divclass="box"style="overflow:auto;height:calc(100vh-100px)"><divv......
  • 转载 vue-cli5降级为vue-cli4
    vue-cli5降级为vue-cli41.启动命令行,运行npmconfigls-l,找到userconfig路径下的.npmrc文件进行删除;2.输入wherevue,把vuevue.cmd这两个文件删除;3.输入vue-V,会显示‘vue’不是内部或外部命令,也不是可运行的程序或批处理文件。4.运行npmunivue-cli-g;5.安装任意指定......
  • Vue
    Vue一套前端框架,免除原生JavaScript中的DOM操作,简化书写基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。基于框架进行开发,更加快捷,更加高效。<head></head>中引入官方......