首页 > 其他分享 >day60-watch与计算属性的对比与监视属性的简写

day60-watch与计算属性的对比与监视属性的简写

时间:2023-01-16 12:22:40浏览次数:50  
标签:firstname watch day60 oldvalue 监视 简写 newvalue 属性

监视属性与计算属性对比

监视属性简写

 
watch:{
     //正常写法
     /*
     isHot:{
         handler(newvalue,oldvalue){
             //当isHot改变的时候调用
             console.log("ishot change",newvalue,oldvalue)
         }
     },
 ​
      */
     //简写
     isHot(newvalue,oldvalue){
         console.log("ishot change",newvalue,oldvalue)
     }
 ​
     }

 

当不需要深度监视等操作时,可以使用简写,此时主函数就是handler函数

计算属性与监视属性对比

监视的属性必须存在,所以创造首先的属性,接着进行监视

以计算属性的姓名案例:

 
<body>
 <!--
     computed和watch的区别:
         1.computed能完成的功能,watch都能完成
         2.watch能完成的功能,computed不一定能完成,例如:watch可以完成异步操作
     原则:
         1.所有被vue管理的函数,最好写成普通函数,这样this指向的是vm或者组件实例对象
         2.所有不被vue管理的函数(定时器回调函数,ajax的回调函数),最好写成箭头函数,
           这样this指向的才是vm或者组件实例对象
 -->
 <div id="root">
     姓:<input type="text" v-model="firstname"><br>
     名:<input type="text" v-model="lastname"><br>
     姓名:<span>{{fullName}}</span>
 </div>
 ​
 </body>

 

创建新的fullname属性

 
<script>
     Vue.config.productionTip = false
 ​
 ​
     const vm = new Vue({
         el:'#root',
         data:{
             firstname:'张',
             lastname:'三',
             fullName:'张-三'
         },
         watch:{
             firstname(newvalue){
                 setTimeout(()=>{
                     this.fullName = newvalue +'-'+ this.lastname
                 },1000)
 ​
             },
             lastname(newvalue){
                 this.fullName = this.firstname +'-'+ newvalue
             }
         }
 ​
     })
 </script>

 

首先对fullname赋值,后根据监视firstname与lastname,对fullname的值进行更改

总结

 <!--
     computed和watch的区别:
         1.computed能完成的功能,watch都能完成
         2.watch能完成的功能,computed不一定能完成,例如:watch可以完成异步操作
     原则:
         1.所有被vue管理的函数,最好写成普通函数,这样this指向的是vm或者组件实例对象
         2.所有不被vue管理的函数(定时器回调函数,ajax的回调函数),最好写成箭头函数,
           这样this指向的才是vm或者组件实例对象
 -->

 

over

标签:firstname,watch,day60,oldvalue,监视,简写,newvalue,属性
From: https://www.cnblogs.com/GUGUZIZI/p/17055120.html

相关文章

  • 如何动态修改属性文件×××.properties的某些内容
    我们在项目中可以把一些属性配置到×××.properties中,比如数据库连接信息。现在问题来了,我的属性文件中有一些值是需要根据后台得到的数据来动态改变的,请问这个要怎么实现......
  • css inset属性
    inset属性说明如下:inset属性用作定位元素的top、right、bottom、left这些属性的简写。类似于margin和padding属性,依照“上右下左”的顺序。举个例子:inset:0;......
  • linux的时间属性
    最近写打包备份文件log的命令,研究了一下时间属性的的含义。做个记录。Linux系统文件有三个主要的时间属性,分别是ctime(changetime,而不是createtime)atime(accessti......
  • python中os.path常用属性和部分使用方法
    1os.path模块常用的属性和方法2简单示例在一个工程或者项目中用到的会多一点,比如需要得到某个文件或者配置文件的路径等。这里示例为:C:\Users\Administrator\Desk......
  • Error: ENOSPC: System limit for number of file watchers reached, watch '文件路径
    在Linux系统上运行vue项目。出现如题报错代码的解决办法,在终端执行以下命令最简单的命令,粘贴执行,即可解决!sudosysctlfs.inotify.max_user_watches=524288执行这两条......
  • 安卓学习1--基础属性详解
    基础属性详解11.layout_width:组件的宽度232.layout_height:组件的高度453.id:为TextView设置一个组件id674.text:设置显示的文本内容895.textCo......
  • day59-监视属性
    监视属性普通写法,监视天气<body><divid="root"><h2>今天天气很{{info}}</h2><button@click="isHot=!isHot">change</button>​</div>​</bo......
  • 避免用Apache Beanutils进行属性的copy。why?让我们一起一探究竟
    在实际的项目开发中,对象间赋值普遍存在,随着双十一、秒杀等电商过程愈加复杂,数据量也在不断攀升,效率问题,浮出水面。问:如果是你来写对象间赋值的代码,你会怎么做?答:想都不用想,直......
  • Echarts常见设置属性
    图表边距letoption={grid:{left:'10%',right:'10%'}}展示标签内容格式与位置formatter{a}:系列名。{b}:数据名。{c}:数据值。{d}:百分比比例。position......
  • 46、商品服务---品牌管理---关联属性的删除&mybatisplus的foreach
    1、controller层注意Post请求前端传过来json数据,后端必须加上@RequestBody来解析同时这个VO是我们自己编写的,用来接受前端数据,然后再serviceImpl再重新给相应的实体类赋......