浅析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 相关文章推荐
javascript与CSS复习(三)
Jun 29 Javascript
jQuery插件jPaginate实现无刷新分页
May 04 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
Sep 24 Javascript
JavaScrip常见的一些算法总结
Dec 28 Javascript
jQuery webuploader分片上传大文件
Nov 07 Javascript
获取IE浏览器Cookie信息的方法
Jan 23 Javascript
Webpack优化配置缩小文件搜索范围
Dec 25 Javascript
用Axios Element实现全局的请求loading的方法
Mar 15 Javascript
jQuery中可见性过滤器简单用法示例
Mar 31 jQuery
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
Oct 28 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
Nov 15 Javascript
JS常用跨域方法实现原理解析
Dec 09 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面向对象的方法重载两种版本比较
2008/09/08 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
javascript制作2048游戏
2015/03/30 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
python的绘图工具matplotlib使用实例
2014/07/03 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
PyTorch中permute的用法详解
2019/12/30 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
Pandas之缺失数据的实现
2021/01/06 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
《生命的药方》教学反思
2014/04/08 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
房屋授权委托书范本
2014/10/07 职场文书
新员工辞职信范文
2015/05/12 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
python+opencv实现目标跟踪过程
2022/06/21 Python