博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue的计算属性(computed properties)
阅读量:4685 次
发布时间:2019-06-09

本文共 1098 字,大约阅读时间需要 3 分钟。

一、起因?

虽然在模板中绑定表达式是非常便利的,但是它们实际上只用于简单的操作.在模板中放入太多的逻辑会让模板过重且难以维护.
比如:

{
{ message.split('').reverse().join('') }}

这样,模板不再简单和清晰.在实现反向显示message之前,你应该通过一个函数确认它.

所以,Vue.js提供了计算属性来让我们去处理实例中的复杂逻辑.
计算属性(computed properties)就是不存在于原始数据中,而是在运行时实时计算出来的属性.

通过四种方式让数据在页面显示出来,推荐使用后面2种:

    

初始值:{

{ message }}

翻转值:{

{ message.split('').reverse().join('') }}

函数调用:{

{ reverseStr() }}

计算属性:{

{ reverse }}

二、计算属性 和 Methods的区别?

    当页面重新渲染(不是刷新)的时候,计算属性不会变化,直接读取缓存使用,适合较大量的计算和改变频率较低的属性;
    而method,就是当页面重新渲染的时候(页面元素的data变化,页面就会重新渲染),都会重新调用method.
    如果不希望有缓存,我们可以用method取代computed.
    疑惑:为什么需要缓存?
    假设我们有一个重要的计算属性A, 这个计算属性需要一个巨大的数组遍历和做大量的计算.然后我们可能有其他的计算属性依赖于A.如果没有缓存,我们将不可避免的多次执行A的getter方法
    
三、计算属性的setter方法
    计算属性默认只有getter,不过在需要时你也可以提供一个setter.

    

{

{ showinfo }}

在上面的案例中,计算属性showinfo的值始终取决于name 和 age.

计算属性默认只有 getter ,当然在需要时我们也可以提供一个 setter .

计算属性被设计出来的目的在于:getter 是干净无副作用的.

 

转载于:https://www.cnblogs.com/apollo1616/articles/10038437.html

你可能感兴趣的文章
Axios 中文说明
查看>>
fatal: remote origin already exists.
查看>>
gridview 自定义value值
查看>>
2018二月实现计划成果及其三月规划
查看>>
封装springmvc处理ajax请求结果
查看>>
tyvj P2018 「Nescafé26」小猫爬山 解题报告
查看>>
类名.class和getClass()区别
查看>>
开发脚本自动部署及监控
查看>>
JavaScript--语句
查看>>
12/17面试题
查看>>
css 继承和层叠
查看>>
javascript实现图片轮播3D效果
查看>>
ssl初一组周六模拟赛【2018.3.17】
查看>>
[RxJS] Avoid mulit post requests by using shareReplay()
查看>>
C++和C#之间的数据类型对应关系
查看>>
模型分离(选做)
查看>>
LeetCode 242. Valid Anagram
查看>>
观察者模式------《Head First 设计模式》
查看>>
JSP表单提交乱码
查看>>
如何适应现代雇佣关系
查看>>