回顾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. SECS半导体设备通讯-1 SECS的基本概念

    一 什么是SECS SECS(SEMI Equipment Communication Standard),半导体设备通讯标准. 此标准由SEMI (Semiconductor Equipment a ...

  2. flood_it 方法记录

    心路历程 根据题面的描述,我们面临的问题无非是,每次将色块更新成什么颜色.又因为是从左上角开始更新,所以我的有了第一个想法. 将左上角的色块命名为"原色块". 对于每个色块,定义4 ...

  3. 齐博x1如何取消禁止跨城市密码登录限制

    为安全起意见,只要用户绑定了手机,或者QQ登录,或者微信登录其中的一项,只要用户的IP所在城市变了,就会禁止密码登录.如下图所示 而必须选择绑定过的手机或QQ或微信其中一种方式登录.以避免密码被盗所带 ...

  4. python字典推导&&列表推导&&输出随机数

    字典推导: x = ['A', 'B', 'C', 'D'] y = ['Alice', 'Bob', 'Cecil', 'David'] print({i:j for i,j in zip(x,y) ...

  5. spalsh安装及简单使用

    selenium是浏览器测试自动化工具,很容易完成鼠标点击,翻页等动作,确定是一次只能加载一个页面,无法异步渲染页面,也就限制了selenium爬虫的抓取效率. splash可以实现异步渲染页面,可以 ...

  6. 状态估计和KalmanFilter公式的推导与应用

    状态估计的概率解释 运动和观测方程: \[\left\lbrace \begin{array}{l} x_k = f(x_{k_1}, u_k) + w_k \\ z_k = h(y_j, x_k) ...

  7. xss学习笔记(萌新版)

    xss简介 xss攻击者构造恶意信息然后在用户的浏览器上执行,主要分为反射性xss,这种主要是某个页面存在有漏洞的参数,然后填上恶意参数把整个链接发给用户或者管理员,他们点击了带有恶意参数的链接就会执 ...

  8. 接入监控视频,为啥还需要对接厂商的SDK呢,不是有onvif这样的标准协议吗?

    不少人问过我这个问题,这真是一个好问题. 我举两个例子,让您仔细品: ① 快速打开视频和极致操控的问题. onvif协议很科班,但厂商的sdk可能会给你一些独特的方法,譬如先make一个I帧,这样第一 ...

  9. 【题解】P7860 [COCI2015-2016#2] ARTUR

    题面传送门 好题. 主要思路和另一位巨佬差不多,详细讲一下判断的部分. 解决思路: 首先考虑本题与拓扑排序有和关系.可以想到,某些棍子的先后移动顺序是有限制的.比如: 这里红色的必须比蓝色的先移动,因 ...

  10. 嵌入式-C语言基础:二维数组的地址写法

    二维数组a的有关指针: 表示形式                                含义                                                   ...