• 十秒看懂computed和watch的区别 (vue的简单计算和复杂监听)


    1,计算属性  computed

     computed 计算属性 :通过原本属性进行计算 产生一个新的属性 
      计算属性 不写在data里面 写在computed中

    重点:它是由原本的属性(data中的数据)产生的新的属性

    下方是部分代码演示:(自行引入vue)

    1. <div id="app">
    2. <p>
    3. 姓:<input type="text" v-model="firstName">
    4. p>
    5. <p>
    6. 名字:<input type="text" v-model="lsatName">
    7. p>
    8. {{allName}}
    9. div>
    10. <script>
    11. //通过 firstName和lastName计算一个新的属性
    12. //当firstName或者lastName实时更新
    13. //computed 计算属性 :通过原本属性进行计算 产生一个新的属性******
    14. // 计算属性 不写在data里面 写在computed中
    15. let vm=new Vue({
    16. el:"#app",
    17. data:{
    18. firstName:"",
    19. lsatName:""
    20. },
    21. computed:{
    22. allName(){
    23. return this.firstName+this.lsatName
    24. }
    25. }
    26. })
    27. script>
    28. body>

    2,watch 监听

    watch 不产生新的属性,只是在原有的内容进行更改 ,通过监听某个数据的变化改变其他数据,实现复杂操作——

    watch 用于复杂逻辑 ,搜索!! input框 值发送变化时,AJax请求 ,当数据变化 实现功能较为复杂时,使用watch,watch不是只对属性服务,可以写多种操作

    1. <div id="app">
    2. <p>
    3. 当前温度:<button @click="reduce()">-button>{{temperature}} <button @click="add()">+button>
    4. p>
    5. <p>
    6. 建议穿衣指数:{{dress}}
    7. p>
    8. div>
    9. <script>
    10. // watch选项:监听选项 对vue中某一个数据进行监听,当数据发生变化时,执行对应函数
    11. // 20以上 短袖
    12. //10-20 长袖
    13. //0-10 外套
    14. //0 棉衣
    15. let vm=new Vue({
    16. el:"#app",
    17. data:{
    18. temperature:20,
    19. dress:"半袖"
    20. },
    21. methods: {
    22. reduce(){
    23. this.temperature--
    24. },
    25. add(){
    26. this.temperature++
    27. }
    28. },
    29. watch:{
    30. temperature(){
    31. console.log(1)
    32. if(this.temperature<20){
    33. this.dress="长袖"
    34. }
    35. }
    36. }
    37. })
    38. script>
    39. body>

    通过监听温度的变化 ,自动改变穿衣指数,监听的是温度,而改变的是穿衣指数,也可以同时改变多个属性 ,可听一变则万变 

    当然了这个逻辑简单用computed也可以做 

     watch和计算属性区别:
             1.watch 不产生新的属性,只是在原有的内容进行更改
            computed 利用原本属性,产生一个新的属性
           2. computed 用于基于原有数据,可以直接计算出来的内容 ,计算属性中通常写的都是简单的逻辑 一些基本的计算和对应的判定
              watch 用于复杂逻辑 ,搜索!! input框 值发送变化时,AJax请求 ,当数据变化 实现功能较为复杂时,使用watch,watch不是只对属性服务,可以写多种操作

    是不是一眼就看懂了,别急着走,点个赞吧!

  • 相关阅读:
    vscode的git提交提示commit-msg hook failed (add --no-verify to bypass)
    第一季:9SpringMVC中如何解决POST请求中文乱码问题,GET的又如何处理呢【Java面试题】
    CC2530中文数据手册
    Qt 拖放功能详解:理论与实践并举的深度指南
    Navicat安装使用教程
    金融贷款风险预测:使用图神经网络模型进行违约概率评估
    2022 年最新版 68 道 Redis 面试题,20000 字,赶紧收藏起来备用
    三维数模(.obj .stl)转化为点云
    ARM TrustZone白皮书部分阅读
    【Oracle系列1】Oracle 的connect权限和create session的区别
  • 原文地址:https://blog.csdn.net/m0_65450343/article/details/126153518