广告
返回顶部
首页 > 资讯 > 精选 >Vue中监视属性和计算属性的区别是什么
  • 323
分享到

Vue中监视属性和计算属性的区别是什么

2023-07-04 11:07:39 323人浏览 安东尼
摘要

这篇文章主要讲解了“Vue中监视属性和计算属性的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中监视属性和计算属性的区别是什么”吧!计算属性顾名思义,计算属性就是计算出来的属

这篇文章主要讲解了“Vue中监视属性和计算属性的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中监视属性和计算属性的区别是什么”吧!

    计算属性

    顾名思义,计算属性就是计算出来的属性,英文名儿computed
    这里要和data和methods里的东西区分,data里的属性,methods里的函数,你写的都会原封不动放到vm里,但是computed里面的东西写的是对象,最后放到vm里的是这个对象的名,值是get里的返回值。

    下面看下Vue中监视属性和计算属性区别。

    需求

    我们将计算属性的案例使用watch写一遍

    需求一揽

    Vue中监视属性和计算属性的区别是什么

    • 两个输入框

    • 下方一个全名

    • 要求输入框内容发生变化的时候,全名也跟着变化

    使用watch实现

    自实现

    • 既然要使用深度监视,那么我们就需要在data当中准备一个对象属性

    data:{ // 全名 fullname:{    full:""    name:""},userName:""},

    Vue中监视属性和计算属性的区别是什么

    • 我们的深度监视针对的就是这个fullName

    • 我们在data当中定义另一个变量userName,这个变量可以理解为计算属性,但是这里我们不使用computed配置项

    准备工作

    html

    <!-- 创建一个容器 -->    <fORM class="app">        <input type="button" value="重置" @click="reset">        <!-- 差值语法 == v-model -->        <div class="box" >            <div class="title">深度监视</div>            请输入:<input type="text" v-model="fullName.full"><br>            请输入:<input type="text" v-model="fullName.name">            <!-- 使用深度监视 -->            <div class="content">{{userName}}</div>        </div>    </form>

    js

    <script>    var vm = new Vue({      el: '.app',      data: {        // 全名        fullName:{            full:"",            name:""        },        userName:""      },      methods:{        // 清除fullName的值        reset(){            this.fullName.full = ""            this.fullName.name = ""        }      },      // 对fullName进行监视      watch:{        fullName:{            deep:true,            handler(){                 this.userName = this.fullName.full + "-" + this.fullName.name            }        }      }          });</script>
    • 我们开启了深度监视,当fullName内部值发生改变

    • 那么handler就会被调用

    • 因为v-model与input当中的value进行了双向绑定

      • 所以当期发生变化的时候,data当中的full与name也会跟着变化

    • 我们在fullName的深度监视中能够同步获得data当中已经发生改变的full与name

    • 在handler当中将userName的值,对其进行加法运算

    this.userName = this.fullName.full + "-" + this.fullName.name

    Vue中监视属性和计算属性的区别是什么

    • 我感觉这样有点麻烦,看老师怎么做的吧

    测试

    Vue中监视属性和计算属性的区别是什么

    新需求

    • 当 姓(full) 发生变化的时候,这个全名(userName),延迟一秒更新

    • 不过这样的话,那么就需要对full与name单独监视了

    // 对fullName进行监视      watch:{        'fullName.full':{            handler(newValue){                // 新增一个定时器                setTimeout(()=>{                    this.userName = newValue + "-" + this.fullName.name                },1000)            }        },        'fullName.name':{            handler(newValue){                this.userName = this.fullName.full + "-" + newValue;            }        }      }

    注意点

    • setTimeout这个函数,是js模块当中定时器模块所管理的一个函数

    • 它的this是window

    • 我们这个需求当中,setTimeout是vue当中,一个监听属性的handler回调当中的内容

    • 那么这个时候如果不写成箭头函数,那么this的指向就是window

    • 但是写了箭头函数,那么setTimeout的this指向就没有了

    • 没有怎么办?往上一级找嘛,上一级是谁?handler嘛,handler的this是谁?vue嘛

    测试

    Vue中监视属性和计算属性的区别是什么

    在computed当中书写

    是不能够通过异步请求来去维护数据的

    • 这俩配置项各有千秋,但是我个人觉得watch来书写这个需求的时候,会比较麻烦

    • 关于计算属性

      • 在我确认自己不需要对fullName这个整体进行修改的时候,那么我只需要一行代码即可完成这个需求

    //配置计算属性computed:{    //完整写法    /* fullname:{...    // 简写形式    /*fullName:funaction(){...    fullName(){      return this.full + "-" + this.name  }}

    Vue中监视属性和计算属性的区别是什么

    • 关于监视属性

      • 我得亲自去监视姓和名的变化,或者说进行深度监视

      • 然后在handler当中去修改

    // 对fullName进行监视watch:{ fullName:{     deep:true,     handler(){          this.userName = this.fullName.full + "-" +this.fullName.name  } }}

    Vue中监视属性和计算属性的区别是什么

    感谢各位的阅读,以上就是“Vue中监视属性和计算属性的区别是什么”的内容了,经过本文的学习后,相信大家对Vue中监视属性和计算属性的区别是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    --结束END--

    本文标题: Vue中监视属性和计算属性的区别是什么

    本文链接: https://www.lsjlt.com/news/344877.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Vue中监视属性和计算属性的区别是什么
      这篇文章主要讲解了“Vue中监视属性和计算属性的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中监视属性和计算属性的区别是什么”吧!计算属性顾名思义,计算属性就是计算出来的属...
      99+
      2023-07-04
    • Vue中监视属性和计算属性区别解析
      目录计算属性需求使用watch实现准备工作测试测试在computed当中书写总结计算属性 顾名思义,计算属性就是计算出来的属性,英文名儿computed这里要和data和method...
      99+
      2022-11-13
      vue监视属性 vue计算属性
    • Vue中computed(计算属性)和watch(监听属性)的用法及区别说明
      目录计算属性computed侦听属性watch计算属性computed 支持缓存,只有依赖数据发生改变,才会重新进行计算 不支持异步,当computed内有异步操作时无效,无法监听数...
      99+
      2022-11-13
    • Vue中的计算属性与监听属性
      目录一、为什么要使用计算属性什么是计算属性二、计算属性和方法的区别1、区别2、计算属性使用场景三、修改计算属性的值总结四、监听属性1、监听普通属性2、监听属性和计算属性的区别3、监听...
      99+
      2022-11-13
    • Vue监听属性和计算属性怎么使用
      这篇文章主要讲解了“Vue监听属性和计算属性怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue监听属性和计算属性怎么使用”吧!一、watch监听属性这个属性用来监视某个数据的变化,...
      99+
      2023-06-25
    • Vue中的计算属性与监听属性怎么用
      今天小编给大家分享一下Vue中的计算属性与监听属性怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、为什么要使用计算属...
      99+
      2023-06-29
    • 关于Vue中的计算属性和监听属性详解
      目录一、computed计算属性(1)计算属性的缓存(2)计算属性的setter二、watch监听属性一、computed计算属性 Vue.js模板内的表达式非常便利,但是设计它们的...
      99+
      2023-05-20
      Vue 计算属性 Vue 监听属性
    • Vue组件的计算属性和普通属性的区别说明
      目录计算属性和普通属性的区别说明计算属性关键词: computedcomputed vs methods总结计算属性和普通属性的区别说明 计算属性关键词: computed 计算属性...
      99+
      2023-01-28
      Vue组件 Vue计算属性 Vue普通属性
    • Vue计算属性是什么
      这篇文章主要为大家展示了“Vue计算属性是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue计算属性是什么”这篇文章吧。具体内容如下①模板内的表达式实际上...
      99+
      2022-10-19
    • Vue计算属性与监视(侦听)属性的使用深度学习
      目录计算属性(computed)监视属性(watch)监视的两种方法immediate选项深度监视计算属性(computed) 计算属性指的是通过一系列运算之后,最终得到一个值。这个...
      99+
      2022-11-13
      vue计算属性和侦听属性 vue计算属性 vue监视属性
    • vue中计算属性和方法的区别及说明
      目录vue计算属性和方法区别区别vue向计算属性传递参数vue计算属性和方法区别 当我们实现翻转字符串的业务逻辑时,使用插值表达式打码如下: <div id="app">...
      99+
      2022-11-13
    • Vue.js中的计算属性、监视属性与生命周期详解
      目录前言 计算属性 计算属性介绍 入门案例 统计价格案例getter和setter方法计算属性缓存监视属性 概述 代码总结Vue生命周期初始化阶段 更新阶段 死亡阶段 总结前言 本...
      99+
      2022-11-12
    • CSS中zoom属性和scale属性有什么区别
      CSS中zoom属性和scale属性有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。zoom 属性语法:zoom:normal | <number...
      99+
      2023-06-09
    • HTML中,src属性和href属性有什么区别?
      src属性和href属性是在HTML中常用的属性,用于指定网页中外部资源的引用。虽然它们都可以用来引用外部资源,但在使用和功能上却有着不同的用途。首先,src属性用于指定外部资源在网页中的嵌入方式,常用于引入图片、音频、视频等媒体文件,以及...
      99+
      2023-12-28
      html 区别 href src
    • 什么是src属性和href属性?它们有什么区别?
      什么是src属性和href属性?它们有什么区别?在HTML中,src属性和href属性是两个常用的属性,用于引用外部资源。虽然它们在功能上有些相似,但在用法和引用资源类型上有一些区别。首先,让我们来看一下src属性。src是source的缩...
      99+
      2023-12-28
      href src 属性区别
    • 简单聊聊Vue中的计算属性和属性侦听
      目录1. 计算属性语法:  1.简写方式:语法:  2.完整写法: 2. 监视(侦听)属性 1. 监视属性watch:2. 深度监视3. 区别和原则总结1. 计算...
      99+
      2022-11-12
    • Vue中使用计算属性的方法是什么
      这篇文章主要介绍“Vue中使用计算属性的方法是什么”,在日常操作中,相信很多人在Vue中使用计算属性的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue中使用计算属性的方法是什么”的疑惑有所帮助!...
      99+
      2023-06-21
    • Vue中computed属性和watch,methods的区别
      目录computedwatchmethods归纳三者不同点1、methods2、computed3、watch在Vue中,computed、watch和methods是处理响应式数据...
      99+
      2023-05-19
      Vue computed属性 watch methods
    • Class中Extends和Implements属性的区别是什么
      这篇文章给大家介绍Class中Extends和Implements属性的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<span >var Animal = ne...
      99+
      2022-10-19
    • CSS中Visibility和Display属性的区别是什么
      CSS中Visibility和Display属性的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。CSS DIV中Visibility...
      99+
      2022-10-19
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作