浅析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 相关文章推荐
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 Javascript
jQuery登陆判断简单实现代码
Apr 21 Javascript
JS操作HTML自定义属性的方法
Feb 10 Javascript
Javascript中神奇的this
Jan 20 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
常用的几个JQuery代码片段
Mar 13 Javascript
Javacript中自定义的map.js  的方法
Nov 26 Javascript
vue二级路由设置方法
Feb 09 Javascript
es6函数之严格模式用法实例分析
Mar 17 Javascript
JavaScript常用工具函数库汇总
Sep 17 Javascript
vue.js 使用原生js实现轮播图
Apr 26 Vue.js
浅谈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/10/01 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
js简单时间比较的方法
2016/08/02 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
vue router 源码概览案例分析
2018/10/09 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
Python TCP通信客户端服务端代码实例
2019/11/21 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
半年思想汇报
2013/12/30 职场文书
财经学院自荐信范文
2014/02/02 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
写给医生的感谢信
2015/01/22 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
婚宴新娘致辞
2015/07/28 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python