1. computed(计算属性)

  计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。注意,如果某个依赖 (比如非响应式属性) 在该实例范畴之外,则计算属性是不会被更新的。

  eg:

  1. <p>computed={{sum}}</p>
  1. computed: {
  2. sum: function () {
  3. console.log('这是cpmputed实现的a+b处理')
  4. return Number(this.a) + Number(this.b)
  5. }
  6. }

  注意:当页面多次调用sum,也只会在控制台打印一次日志:'这是cpmputed实现的a+b处理',除非改变 a 或者 b 的值。

2. methods(方法)

  methods 将被混入到 Vue 实例中。可以直接通过 VM 实例访问这些方法,或者在指令表达式中使用。方法中的 this 自动绑定为 Vue 实例。
  eg:

  1. <p>methods={{sums()}}</p>
  1. methods: {
  2. sums(){
  3. console.log('这是methods实现的a+b处理')
  4. return Number(this.a) + Number(this.b)
  5. }
  6. }

  注意:当页面多次调用sum,每调一次控制台打印一次日志:'这是mthods实现的a+b处理'。

3. watch(侦听属性)

  一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名、路由,或者包含选项的对象。Vue 实例将会在实例化时调用 $watch(),遍历 watch 对象的每一个属性。

  eg:

  1. watch: {
  2. a: function (val) {
  3. console.log('这是watch a 的处理')
  4. this.c = Number(val) + this.b
  5. },
  6. b: function (val) {
  7. console.log('这是watch b 的处理')
  8. this.c = Number(val) + this.a
  9. }
  10. }

  注意:Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:watch 属性。当你有一些数据需要随着其它数据的变动而变动时,很容易滥用 watch。 然而,通常更好的做法是使用计算属性而不是命令式的 watch 回调。

完整 js 如下:

  1. <script>
  2. export default {
  3. data () {
  4. return {
  5. a: 1,
  6. b: 2,
  7. c: 3
  8. }
  9. },
  10. computed: {
  11. sum: function () {
  12. console.log('这是cpmputed实现的a+b处理')
  13. return Number(this.a) + Number(this.b)
  14. },
  15. c: function () {
  16. console.log('这是cpmputed实现的a+b处理')
  17. return Number(this.a) + Number(this.b)
  18. }
  19. },
  20. methods: {
  21. sums () {
  22. console.log('这是methods实现的a+b处理')
  23. return Number(this.a) + Number(this.b)
  24. }
  25. },
  26. created () {
  27. },
  28. watch: {
  29. a: function (val) {
  30. console.log('这是watch a 的处理')
  31. this.c = Number(val) + this.b
  32. },
  33. b: function (val) {
  34. console.log('这是watch b 的处理')
  35. this.c = Number(val) + this.a
  36. }
  37. }
  38. }
  39. </script>

Vue methods,watch,computed的区别的更多相关文章

  1. Vue method与computed的区别

    为了说明method与computed的区别,在此我想先来看看computed属性在vue官网中的说法: 模板内的表达式是非常便利的,但是它们实际上只用于简单的运算.在模板中放入太多的逻辑会让模板过重 ...

  2. Vue methods和computed

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. vue计算属性computed和methods的区别

    computed和methods的区别 在new Vue的配置参数中的computed和methods都可以处理大量的逻辑代码,但是什么时候用哪个属性,要好好区分一下才能做到正确的运用vue. com ...

  4. vue系列---理解Vue中的computed,watch,methods的区别及源码实现(六)

    _ 阅读目录 一. 理解Vue中的computed用法 二:computed 和 methods的区别? 三:Vue中的watch的用法 四:computed的基本原理及源码实现 回到顶部 一. 理解 ...

  5. vue中methods、computed、watch区别

    vue中methods.computed.watch区别methods:事件调用的钩子 computed:{ // 计算属性是根据他依赖的值计算的,当依赖值发生变化,其跟着改变 // 计算属性是依赖缓 ...

  6. vue methods computed watch区别

    一.methods和computed computed是计算属性,methods是方法. html: <p>Reversed message: "{{ reversedMessa ...

  7. Vue中method与computed的区别

    为了说明method与computed的区别,在此我想先来看看computed属性在vue官网中的说法:模板内的表达式是非常便利的,但是它们实际上只用于简单的运算.在模板中放入太多的逻辑会让模板过重且 ...

  8. vue实例属性之methods和computed

    我们可以把同一函数放在methods或者computed中,区别在于computed有缓存,计算属性只有在它的相关依赖发生改变时才会重新求值,即数据改变才会执行函数.而methods每当触发重新渲染时 ...

  9. Vuejs中关于computed、methods、watch的区别。

    Vue.js在模板表达式中限制了,绑定表达式最多只能有一条表达式,但某些数据需要一条以上的表达式运算实现,此时就可以将此数据放在计算属性(computed)当中. Vuejs中关于computed.m ...

随机推荐

  1. Python学习3月10号【python编程 从入门到实践】---》笔记

    第11章 测试代码 11.1.2 可通过的测试 name_function.py ###创建一个简单的函数,他接受名和性并返回整洁的姓名 def get_formatted_name(first,la ...

  2. $Loj10155$ 数字转换(求树的最长链) 树形$DP$

    loj Description 如果一个数x的/约数和/y(不包括他本身)比他本身小,那么x可以变成y,y 也可以变成x.限定所有数字变换在不超过n的正整数范围内进行,求不断进行数字变换且不出现重复数 ...

  3. 编辑软件->"Notepad++"

    编辑软件->"Notepad++" Notepad++是什么? Notepad++功能比 Windows 中的Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文 ...

  4. Spring Security 实战干货: 简单的认识 OAuth2.0 协议

    1.前言 欢迎阅读 Spring Security 实战干货 系列文章 .OAuth2.0 是近几年比较流行的授权机制,对于普通用户来说可能每天你都在用它,我们经常使用的第三方登录大都基于 OAuth ...

  5. python3 三行代码基于HTTP2完美实现APNS推送【详解】

    第一次做苹果APNS(Apple Push Notification service)推送,关于APNS推送原理以及证书的获取方式网上已经有许多资料,在此不做过多赘述,需要注意的是证书分为测试证书和正 ...

  6. 【转】离散傅里叶变换-DFT(FFT)基础

    转:https://blog.csdn.net/zhangxz259/article/details/81627341 什么是离散傅里叶变换 matlab例子 本文是从最基础的知识开始讲解,力求用最通 ...

  7. Netty快速入门(01)Linux I/O模型介绍

    Netty简述 Netty是一个高性能的网络编程框架. 上面提到了几个关键的字眼,高性能,网络编程,框架.这些概括Netty的本质. Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务 ...

  8. 【开源】后台权限管理系统升级到aspnetcore3.1

    *:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...

  9. Jetbrains CLion 安装及配置详解

    # Hi 今天呢就给大家推荐一个高大上 强大智能的 C/C++语言编辑器.ta的名字叫-- Jetbrains CLion (呃,说好了不用标题字呢) 这个编辑器呢主要支持C和C ++,包括现代C + ...

  10. 通过HttpClient的方式去Curd数据⭐⭐⭐⭐

    在网上看博客的时候,看到这系列的文章,别特帮,强烈推荐 里面有一章节是通过HttpClient的方法去更新数据的,新颖,记录下. ⭐⭐⭐1:创建一个Model数据模型 这个类创建一个数据对象,Http ...