浅析Vue中method与computed的区别


Posted in Javascript onMarch 06, 2018

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

computed称为计算属性,顾名思义,计算就要返回一个计算的结果,所以,当我们要处理大量的逻辑,但是最后要取得最后的结果的时候可以用computed;

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

我们来看一个例子:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="javascript/vue.min.js"></script>
</head>
<body>
<div id="app">
//直接在模板中绑定表达式
<p>{{message.split('').reverse().join('')}}</p>
//运用计算属性
<p>message反转之后的结果:{{reverseMessage}}</p>
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
message:"hello"
},
computed:{
reverseMessage:function(){
return this.message.split('').reverse().join('');
}
}
})
</script>
</body>
</html>

在上面这种情况下,模板不再简单和清晰。在意识到这是反向显示 message 之前,你不得不再次确认第二遍。当你想要在模板中多次反向显示 message 的时候,问题会变得更糟糕。这就是对于任何复杂逻辑,你都应当使用计算属性的原因。下面我将运用method与computed进行比较:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="javascript/vue.min.js"></script>
</head>
<body>
<div id="app">
<p>{{message}}</p>
//直接在模板中绑定表达式
<p>{{message.split('').reverse().join('')}}</p>
//运用计算属性
<p>{{reverseMessage}}</p>
//运用methods方式
<p>{{methodMessage()}}</p>
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
message:"hello"
},
computed:{
reverseMessage:function(){
return this.message.split('').reverse().join('');
}
},
methods:{
methodMessage:function () {
return this.message.split('').reverse().join('');
}
}
})
</script>
</body>
</html>

我在将这二种方式进行了比较。返回的结果是一样的,写但在法上computed计算属性的方式在用属性时不用加(),而methods方式在使用时要像方法一样去用,必须加().

两种方式在缓存上也大有不同,利用computed计算属性是将 reverseMessage与message绑定,只有当message发生变化时才会触发reverseMessage,而methods方式是每次进入页面都要执行该方法,但是在利用实时信息时,比如显示当前进入页面的时间,必须用methods方式。

总结

以上所述是小编给大家介绍的Vue中method与computed的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Prototype 学习 工具函数学习($A方法)
Jul 12 Javascript
jQuery的实现原理的模拟代码 -1 核心部分
Aug 01 Javascript
JavaScript定义类和对象的方法
Nov 26 Javascript
JS实现让网页背景图片斜向移动的方法
Feb 25 Javascript
js中window.open的参数及注意注意事项
Jul 06 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
Mar 07 Javascript
对vue中v-on绑定自定事件的实例讲解
Sep 06 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
微信小程序实现留言板
Oct 31 Javascript
微信小程序-可移动菜单的实现过程详解
Jun 24 Javascript
vue.js实现备忘录demo
Jun 26 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
Sep 26 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
Mar 06 #Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
Mar 05 #Javascript
JavaScript基础心法 数据类型
Mar 05 #Javascript
js获取html页面代码中图片地址的实现代码
Mar 05 #Javascript
vue axios 在页面切换时中断请求方法 ajax
Mar 05 #Javascript
node.js通过axios实现网络请求的方法
Mar 05 #Javascript
axios发送post请求springMVC接收不到参数的解决方法
Mar 05 #Javascript
You might like
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
浅谈JavaScript对象与继承
2016/07/10 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
python根据经纬度计算距离示例
2014/02/16 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
2020/01/20 Python
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
大学生职业规划论文
2014/01/11 职场文书
广告业务员岗位职责
2014/02/06 职场文书
个人主要事迹材料
2014/08/26 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
结婚典礼主持词
2015/06/29 职场文书
详解JAVA的控制语句
2021/11/11 Java/Android
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫