回顾Vue计算属性VS其他语法有感

重新回顾官方教程中的到计算属性和侦听器,发觉获益良多,主要就是两点:

  1. 计算属性和其他语法的比较
  2. 计算属性、侦听属性、方法、模板变量的使用

计算属性和其他语法的比较

官方文档用比较的方式说出了计算属性的优点和与其他语法的区别,我就只做一些总结和补充吧

计算属性VS模板变量

  1. 计算属性本为了代替模板变量中的复杂表达式
  2. 多个模板变量中使用时,计算属性更复用

计算属性VS方法

对于同一个功能,计算属性和方法得出的结果是一致,但是计算属性的优势是有缓存,只要相关依赖不改变,计算属性就可以快速在缓存中取值,不用执行函数。

计算属性VS侦听属性

  1. 代码量上:当我们定义一个变量,它依赖于两个以上的数据时,计算属性在写法上就很有优势,代码会少很多重复;
  2. 当函数中有异步操作和开销比较大时,选择侦听属性。官方只提供了正向例子,我提供一个反面例子吧:
<div id="app" class="center">
<h1>test-vue</h1>
<h2>{{msg}}</h2>
</div> new Vue({
el: '#app',
data: { },
computed: {
msg: function() {
//我们希望同通过异步获取数据返回给msg
var params = new URLSearchParams();
params.append('username', 'admin');
params.append('password', '123456');
axios({
method: 'post',
url: "{:U('getInfo')}",
data: params
})
.then(function(response) {
return 'computed1';
})
.catch(function(error) {
});
},
},
})

上面的结果msg:undefined,原因是计算属性中是同步的,不支持异步,所以当需要异步操作时,若为初始化你可以放在生命钩子函数的created进行,若需要重复变化的,请使用侦听属性watch

总结

通过比较,我总结下各种语法的使用:

1.模板变量:

显示数据,可以是一些简单的表达式

2.方法:

  • 作为事件方法
  • 可重复使用的函数

3.侦听属性

  • 异步操作时,应考虑使用
  • 开销较大时,应使用侦听属性

4.计算属性

大部分情况下,应优先使用,优点是:

  • 复用
  • 缓存
  • 简洁
  • 官方推荐

回顾Vue计算属性VS其他语法有感的更多相关文章

  1. Vue计算属性

    github地址:https://github.com/lily1010/vue_learn/tree/master/lesson06 一 计算属性定位 当一些数据需要根据其它数据变化时,这时候就需要 ...

  2. 在做vue计算属性,v-for处理数组时遇到的一个bug

    bug: You may have an infinite update loop in a component render function 无限循环 需要处理的数组(在 ** ssq **里): ...

  3. vue教程2-03 vue计算属性的使用 computed

    vue教程2-03 vue计算属性的使用 computed computed:{ b:function(){ //默认调用get return 值 } } ---------------------- ...

  4. vue 计算属性 实例选项 生命周期

    vue 计算属性: computed:{} 写在new vue()的属性,只要参与运算,数据不发生变化时,次计算只会执行一次,结果缓存,之后的计算会直接从缓存里去结果.如果其中的值发生变化(不管几个) ...

  5. Vue计算属性缓存(computed) vs 方法

    Vue计算属性缓存(computed) vs 方法 实例 <div id="example"> <p>Original message: "{{ ...

  6. vue 计算属性实现过滤关键词

    效果 html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...

  7. Vue 计算属性 && 监视属性

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  8. 微信小程序的wxs语法与vue计算属性

    微信小程序的wxs语法 可以当做vue的计算属性和vue filter 使用.因为wxs中的函数可以写在{{   }}中 . 例如: 可用在 <view>{{ foo() }}</v ...

  9. Vue.js之Vue计算属性、侦听器、样式绑定

    前言 上一篇介绍了Vue的基本概念,这一篇介绍一下Vue的基本使用. 一.搭建一个Vue程序 1.1 搭建Vue环境 搭建Vue的开发环境总共有三种方法: 引入CDN <script src=& ...

随机推荐

  1. value中放vue的参数

    <input type="text" v-model="userInfo.name"/>

  2. 关于aws账单数据中几个重要的与费用相关的字段的意义分析

    今天在看aws账号的详细信息时,看到字段很多,大多数字段,根据名称可以知道代表的意义 对于如下几个字段的概念有点模糊(位于"UsageStartDate","UsageE ...

  3. 图解 | 聊聊 MyBatis 缓存

    首发公众号-悟空聊架构:图解 | 聊聊 MyBatis 缓存 你好,我是悟空. 本文主要内容如下: 一.MyBatis 缓存中的常用概念 MyBatis 缓存:它用来优化 SQL 数据库查询的,但是可 ...

  4. 学生管理系统(C语言简单实现)

    仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2.实训目的及要求 3. 源码 4.实验小结 1 .实训名称 实训12:文件 2. ...

  5. 浅谈ORM-对象关系映射

    目前.NET(C#)中比较流行的ORM框架: SqlSugar (国内) Dos.ORM (国内) Chloe (国内) StackExchange/Dapper (国外) Entity Framew ...

  6. c语言求输入的任一整数的各位数之和

    c语言求解代码: # include<stdio.h> int main(void){ int a,i=0,sum=0; scanf("%d",&a); if( ...

  7. 基于mnist的P-R曲线(准确率,召回率)

    一.准确率,召回率 TP(True Positive):正确的正例,一个实例是正类并且也被判定成正类 FN(False Negative):错误的反例,漏报,本为正类但判定为假类 FP(False P ...

  8. CSS布局秘籍(1)-任督二脉BFC/IFC

    01.CSS布局 1.1.正常布局流(Normal flow) 正常布局流 就是不做任何布局控制,按照HTML的顺序(从左到右,从上而下)进行布局排列.网页基于盒子模型进行正常的布局,主要特点: 盒子 ...

  9. Pytest学习

    pytest简介 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高. 使用介绍 编写规则 测试函数以t ...

  10. uniapp/微信小程序 项目day03

    一.商品列表 1.1 获取数据 首先能够进入商品列表的途径 传的数据有 了解了这个之后就可以开始了,先创建分支 创建编译模式,并分配初试数据 这个时候就可以获取数据了 需要的数据 所以在发起请求之前需 ...