iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >聊聊Vue中的计算属性、方法与侦听器
  • 396
分享到

聊聊Vue中的计算属性、方法与侦听器

前端JavaScriptVue.js 2023-05-14 22:05:20 396人浏览 泡泡鱼
摘要

也就是说,当计算属性依赖的数据发生改变时,它会重新计算;若没有变化时,则不计算,会一直使用上一次计算的结果(这样也就提高了一些性能)。在我们的代码中,当 firstName 或 lastName 改变时,fullName 会重新计算,不变时

也就是说,当计算属性依赖的数据发生改变时,它会重新计算;若没有变化时,则不计算,会一直使用上一次计算的结果(这样也就提高了一些性能)。

在我们的代码中,当 firstNamelastName 改变时,fullName 会重新计算,不变时则用缓存的上次计算结果。

<div id="app">
  {{fullName}}

  {{age}} <!-- 2️⃣把 age 渲染到模板上; -->
  
</div>

<script>
  var vm = new Vue({
    el: '#app',
    data: {
      firstName: 'Oli',
      lastName: 'Zhao',

      age: 18 // 1️⃣data 中添加 age 为 18;
    },
    computed: {
      fullName() {
        console.log('计算了一次') // 3️⃣每当执行时 console.log 一次。
        return this.firstName + ' ' + this.lastName
      }
    }
  })
</script>

保存刷新网页后,可以看到计算属性 计算了一次 。当在控制台输入 vm.age = 20 更改 age 后,页面重新渲染了,“18”变为了“20”,但控制台没有再次输出 计算了一次 ,即计算属性没有进行重新计算。

vue_09-04.gif

而当我们更改 lastName 后,会重新计算一次:

vue_09-05.gif

2 方法 methods

第二种是我们已经非常熟悉的方法 methods

<div id="app">

  <!-- ❗️注意:在插值表达式内,计算属性通过属性的名字就可以用,但调用方法时,
	一定要加上 () 来进行调用! -->
  {{fullName()}}

  {{age}}
</div>

<script>
  var vm = new Vue({
    el: '#app',
    data: {
      firstName: 'Oli',
      lastName: 'Zhao',
      age: 18
    },

    methods: { // ❗️在 methods 中定义 fullName 方法,逻辑上与计算属性一样;
      fullName() { 
        console.log('计算了一次')
        return this.firstName + ' ' + this.lastName
      }
    }

  })
</script>

保存后,刷新页面查看效果时,它会进行一次计算。当我们更改 age 时,它会再计算一次,更改 lastName 时也会进行一次计算:vue09-06.png

所以方法是没有缓存机制的,只要页面重新渲染, fullName 方法就会被重新执行一次

3 侦听器 watch

当使用侦听器时,不可避免的会让代码冗余:

<div id="app">

  {{fullName}} <!-- 1️⃣-②:插值表达式内不需要 (); -->

  {{age}}
</div>

<script>
  var vm = new Vue({
    el: '#app',
    data: {
      firstName: 'Oli',
      lastName: 'Zhao',
      fullName: 'Oli Zhao', // 1️⃣-①:data 中定义 fullName;
      age: 18
    },

    watch: {  // 2️⃣在实例中定义侦听器 watch;

      firstName() { 
        console.log('计算了一次')
        this.fullName = this.firstName + ' ' + this.lastName
      },

      lastName() { 
        console.log('计算了一次')
        this.fullName = this.firstName + ' ' + this.lastName
      }
    }

  })
</script>

保存后回到页面刷新。当第一次进入页面时,因为我们重新定义过 fullName ,所以 watch 不会进行计算就会显示出来。在修改与 fullName 不想关的数据 age 后,由于我们只用 watch 侦听了 firstNamelastName ,所以也不会进行计算。当我们修改 lastName 时,则进行一次计算:

vue09-07.png

总结:

  • methods 会在每次渲染页面都执行一次方法;
  • watchcomputed 都具备缓存机制,但 watch 的语法比 computed 的语法复杂了很多。

所以一般情况下,当一个功能通过 watchmethodscomputed 方法都可以实现时,首推“计算属性 computed ”。

学习视频分享:vuejs入门教程编程基础视频)

以上就是聊聊Vue中的计算属性、方法与侦听器的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 聊聊Vue中的计算属性、方法与侦听器

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

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

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

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

下载Word文档
猜你喜欢
  • 聊聊Vue中的计算属性、方法与侦听器
    也就是说,当计算属性依赖的数据发生改变时,它会重新计算;若没有变化时,则不计算,会一直使用上一次计算的结果(这样也就提高了一些性能)。在我们的代码中,当 firstName 或 lastName 改变时,fullName 会重新计算,不变时...
    99+
    2023-05-14
    前端 JavaScript Vue.js
  • 简单聊聊Vue中的计算属性和属性侦听
    目录1. 计算属性语法:  1.简写方式:语法:  2.完整写法: 2. 监视(侦听)属性 1. 监视属性watch:2. 深度监视3. 区别和原则总结1. 计算...
    99+
    2024-04-02
  • 聊聊Vue中的计算属性computed
    一、计算属性computed1.1.什么是计算属性computed⭐⭐ computed 是基于它的依赖缓存,只有在它的相关依赖发生改变时才会进行更新。官方文档是这样说的:对于任何包含响应式数据的复杂逻辑,你都应该使用计算属性。 (学习视频...
    99+
    2022-11-22
    vue3 vue.js Vue
  • Vue中的计算属性、方法与侦听器源码分析
    这篇“Vue中的计算属性、方法与侦听器源码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue中的计算属性、方法与侦听器...
    99+
    2023-07-05
  • JavaScript计算属性与监视(侦听)属性的使用
    监视属性(watch)watch监视(侦听)器允许开发者监视数据的变化,从而针对数据的变化做特定的操作。监视的两种方法通过new Vue时传入watch配置:<div id="root"> <i...
    99+
    2023-05-14
    javascript
  • Vue中计算属性和侦听器怎么使用
    本篇内容主要讲解“Vue中计算属性和侦听器怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中计算属性和侦听器怎么使用”吧!在Vue中通常我们会在模板绑定表达式,模板是用来描述视图结构...
    99+
    2023-06-03
  • 计算属性和侦听器详情
    目录1、计算属性1.1 基础例子1.2 计算属性缓存 vs 方法1.3 计算属性 vs 侦听属性1.4 计算属性的 setter2、侦听器1、计算属性 模板内的表达式非常便利,但是设...
    99+
    2024-04-02
  • Vue中的计算属性与监听属性
    目录一、为什么要使用计算属性什么是计算属性二、计算属性和方法的区别1、区别2、计算属性使用场景三、修改计算属性的值总结四、监听属性1、监听普通属性2、监听属性和计算属性的区别3、监听...
    99+
    2024-04-02
  • Vue计算属性与监视(侦听)属性的使用深度学习
    目录计算属性(computed)监视属性(watch)监视的两种方法immediate选项深度监视计算属性(computed) 计算属性指的是通过一系列运算之后,最终得到一个值。这个...
    99+
    2022-11-13
    vue计算属性和侦听属性 vue计算属性 vue监视属性
  • 详解Vue3 中的计算属性及侦听器
    目录计算属性缓存getter 和 setter侦听器配置选项其它写法计算属性 我们知道,在模板中可以直接通过插值语法显示一些data中的数据,但是在某些情况,我们可能需要对数据进行一...
    99+
    2022-11-13
    Vue3 计算属性 Vue3 侦听器
  • Vue计算属性与侦听器和过滤器超详细介绍
    目录1. 计算属性1.1 使用方法1.2 案例-购物车合计使用计算属性2. 侦听器3. 过滤器1. 计算属性 1.1 使用方法 概述: 模板中放入太多的逻辑会让模板过重且难以维护,使...
    99+
    2024-04-02
  • vue中计算属性computed理解说明包括vue侦听器,缓存与computed的区别
    一、计算属性(computed) 1、vue computed 说明 当一些数据需要根据其它数据变化时,需要进行处理才能去展示,虽然vue提供了绑定数据表达式绑定的方式,但是设计它的...
    99+
    2024-04-02
  • Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用
    这篇文章主要介绍了Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用文章都会有所收...
    99+
    2023-06-30
  • 聊聊Python私有属性与私有方法
    1、 场景定义私有属性是指在 Python 的面向对象开发过程中,对象的某些属性只想在对象的内部被使用,但不想在外部被访问到这些属性。即:私有属性是对象不愿意公开的属性。私有方法是指在 Python 的面向对象开发过程中,对象的某些方法或者...
    99+
    2023-05-14
    Python 私有属性 私有方法
  • Vue3中的计算属性及侦听器怎么使用
    计算属性我们知道,在模板中可以直接通过插值语法显示一些data中的数据,但是在某些情况,我们可能需要对数据进行一些转化后再显示,或者需要将多个数据结合起来进行显示在模板中使用表达式,可以非常方便的实现,但是设计它们的初衷是用于简单的运算,在...
    99+
    2023-05-14
    Vue3
  • Vue中的计算属性与监听属性怎么用
    今天小编给大家分享一下Vue中的计算属性与监听属性怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、为什么要使用计算属...
    99+
    2023-06-29
  • Vue3中的计算属性及侦听器如何使用
    这篇文章主要介绍“Vue3中的计算属性及侦听器如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3中的计算属性及侦听器如何使用”文章能帮助大家解决问题。计算属性我们知道,在模板中可以直接通...
    99+
    2023-07-06
  • 详细聊聊vue中组件的props属性
    目录问题一:那props具体是怎么使用呢?原理又是什么呢?往下看问题二:那如果我们想给年龄加1岁,怎么实现?问题三:对于年龄这一类型,我们最希望拿到的是什么数据类型?问题四:可以限制...
    99+
    2024-04-02
  • Vue基础语法之计算属性(computed)、侦听器(watch)、过滤器(filters)详解
    目录1、Vue 实例选项2、计算属性(computed)2.1、computed 的基本用法2.2、computed 作为函数传参2.3、计算属性和函数的区别3、侦听器(watch)...
    99+
    2022-11-13
    vue计算属性侦听器 vue计算属性侦听器 vue过滤器
  • 聊聊Gitee贡献者排名的计算方法
    Gitee是一个国内知名的开源代码托管平台,为开发者提供了一个共享、学习、协作的平台,吸引了大量开发者的关注和参与。在Gitee中贡献者排名是一个重要的指标,它能让开发者更加清晰地了解自己在社区中的贡献程度,并提高自己的影响力。本文将介绍G...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作