浅析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的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
Dec 06 Javascript
Javascript 设计模式(二) 闭包
May 26 Javascript
ie下$.getJSON出现问题的解决方法
Feb 12 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
Mar 26 Javascript
javascript模拟命名空间
Apr 17 Javascript
javascript如何定义对象数组
Jun 07 Javascript
vue中渐进过渡效果实现
Oct 27 Javascript
js实现导航栏中英文切换效果
Jan 16 Javascript
vue.js的安装方法
May 12 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
vue集成kindeditor富文本的实现示例代码
Jun 07 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
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
javascript prototype,executing,context,closure
2008/12/24 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
python matplotlib库绘制散点图例题解析
2019/08/10 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
python重要函数eval多种用法解析
2020/01/14 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
python 实现的车牌识别项目
2021/01/25 Python
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
保安员岗位职责
2013/11/17 职场文书
大专学生推荐信范文
2013/11/19 职场文书
建筑项目策划书
2014/01/13 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
2014年国培研修感言
2014/03/09 职场文书
学生检讨书怎么写
2015/05/07 职场文书
一文搞懂python异常处理、模块与包
2021/06/26 Python