Vue computed计算属性的使用方法

发布时间 - 2026-01-11 02:20:52    点击率:

computed

computed:相当于method,返回function内return的值赋值在html的DOM上。但是多个{{}}使用了computed,computed内的function也只执行一次。仅当function内涉及到Vue实例绑定的data的值的改变,function才会从新执行,并修改DOM上的内容。

computed和method的对比

<div id="example">
 {{ message.split('').reverse().join('') }}
</div>

这个是vue官网一直拿来作为例子的代码。在{{}}可以很方便的放入单个表达式,但是当一个HTML的DOM里面存在太多的表达式,程序会变得很笨重难于维护。

html

<div id="app9">
  9、method与computed的区别<br/>
  fullName<br/>
  {{fullName}}<br/>
  fullName2<br/>
  {{fullName}}<br/>
  fullNameMethod<br/>
  {{getFullName()}}<br/>
  fullNameMethod2<br/>
  {{getFullName()}}<br/>
</div>

js

var app9 = new Vue({
  el: '#app9',
  data: {
    firstName: 'Foo',
    lastName: 'Bar'
  },
  methods:{
    getFullName:function () {
      console.log("执行了methods")
      return this.firstName+" " +this.lastName;
    }
  },
  computed: {
    fullName: function () {
      console.log("执行了computed")
      return this.firstName + ' ' + this.lastName
    }
  }
})
setTimeout('app9.firstName="Foo2"',3000);

控制台输出的结果

执行了computed
执行了methods
执行了methods
执行了computed
执行了methods
执行了methods 

由此可见使用computed,function只会执行一次。当Vue实例中绑定的data数据改变的时候,computed也相对应的只改变一次。

相同点:在以上代码中,两个p标签都会打印出同样被反转的Hello。

不同点:
使用了methods的:HTML中,每一个调用了Vue的methods的方法,都需要执行一遍reversedMessage()这个方法;
而使用computed计算属性的,只执行一遍将结果保存在缓存中。

computed和watch的对比

html

<div id="demo">{{ fullName }}</div>

js

var vm = new Vue({
 el: '#demo',
 data: {
 firstName: 'Foo',
 lastName: 'Bar',
 fullName: 'Foo Bar'
 },
 watch: {
 firstName: function (val) {
  this.fullName = val + ' ' + this.lastName
 },
 lastName: function (val) {
  this.fullName = this.firstName + ' ' + val
 }
 }
})
var vm = new Vue({
 el: '#demo',
 data: {
 firstName: 'Foo',
 lastName: 'Bar'
 },
 computed: {
 fullName: function () {
  return this.firstName + ' ' + this.lastName
 }
 }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Vue  # computed  # 计算属性  # Vue中的computed属性详解  # vue计算属性computed的使用方法示例  # vue计算属性computed方法内传参方式  # Vue 2.0学习笔记之Vue中的computed属性  # Vue.js第三天学习笔记(计算属性computed)  # Vue中计算属性computed的示例解读  # Vue computed 计算属性代码实例  # 深入理解Vue Computed计算属性原理  # vue.js计算属性computed用法实例分析  # Vue.js中computed属性高效的数据处理案例  # 一遍  # 绑定  # 使用了  # 太多  # 多个  # 才会  # 只会  # 得很  # 涉及到  # 很方便  # 官网  # 相对应  # 大家多多  # reverse  # join  # split  # gt  # message 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何登录建站主机?访问步骤全解析  如何在自有机房高效搭建专业网站?  Python文本处理实践_日志清洗解析【指导】  教你用AI润色文章,让你的文字表达更专业  Laravel如何创建自定义Facades?(详细步骤)  如何做网站制作流程,*游戏网站怎么搭建?  zabbix利用python脚本发送报警邮件的方法  Python文件操作最佳实践_稳定性说明【指导】  如何在IIS中新建站点并配置端口与IP地址?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  如何用低价快速搭建高质量网站?  高端网站建设与定制开发一站式解决方案 中企动力  Laravel如何实现本地化和多语言支持?(i18n教程)  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何在万网自助建站平台快速创建网站?  ,在苏州找工作,上哪个网站比较好?  如何快速查询域名建站关键信息?  如何在建站宝盒中设置产品搜索功能?  nodejs redis 发布订阅机制封装实现方法及实例代码  Laravel中的withCount方法怎么高效统计关联模型数量  如何在阿里云虚拟服务器快速搭建网站?  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  如何快速搭建高效WAP手机网站吸引移动用户?  JavaScript模板引擎Template.js使用详解  javascript如何操作浏览器历史记录_怎样实现无刷新导航  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  中国移动官方网站首页入口 中国移动官网网页登录  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  如何在橙子建站中快速调整背景颜色?  如何快速打造个性化非模板自助建站?  怎么用AI帮你设计一套个性化的手机App图标?  个人网站制作流程图片大全,个人网站如何注销?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  如何有效防御Web建站篡改攻击?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何用免费手机建站系统零基础打造专业网站?  奇安信“盘古石”团队突破 iOS 26.1 提权  实现点击下箭头变上箭头来回切换的两种方法【推荐】  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?