浅析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 相关文章推荐
JS中toFixed()方法引起的问题如何解决
Nov 20 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
Mar 26 Javascript
jquery实现省市select下拉框的替换(示例代码)
Feb 22 Javascript
jsPDF导出pdf示例
May 02 Javascript
详解Angular中$cacheFactory缓存的使用
Aug 19 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
Oct 13 Javascript
基于JS设计12306登录页面
Dec 28 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 Javascript
Vue实现图片轮播组件思路及实例解析
May 11 Javascript
浅谈JS for循环中使用break和continue的区别
Jul 21 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 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
php Ubb代码编辑器函数代码
2012/07/05 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
Json和Jsonp理论实例代码详解
2013/11/15 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
基于JavaScript如何制作遮罩层对话框
2016/01/26 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
JS模拟实现京东快递单号查询
2020/11/30 Javascript
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
python 重定向获取真实url的方法
2018/05/11 Python
python获取url的返回信息方法
2018/12/17 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
python 决策树算法的实现
2020/10/09 Python
python 发送get请求接口详解
2020/11/17 Python
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
电脑租赁公司创业计划书
2014/01/08 职场文书
学党史心得体会
2014/09/05 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
2014年学校体育工作总结
2014/12/08 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
婚礼答谢词范文
2015/09/29 职场文书
公司周年庆寄语
2019/06/21 职场文书
SQL Server使用导出向导功能
2022/04/08 SQL Server
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技