Vue.js计算机属性computed和methods方法详解


Posted in Javascript onOctober 12, 2019

在使用Vue.js时,会发现调用menthods里的方法也可以与计算机属性起到同样的作用,如:

<div id="app">
 
 <!--利用计算机属性实现逆向文本的效果-->
 <input type="text" v-model="text" property="请输入要逆转的文本/>
 <!--逆转的方法-->
 <h3>计算机属性逆转:{{reversedText}}</h3>
 <!--通过调用methods里的方法也可以与计算机属性起到同样的作用-->
 <!--注意,方法要带'()'-->
 <h3>方法逆转:{{reversedTextM()}}</h3>
 
</div>
<script>
 var app = new Vue({
  el: '#app',
  data: {
  text: '123,456'
  },
  methods: {
  reversedTextM: function () { 
   return this.text.split(',').reverse().join(',');
  },
  },
  computed: {
  reversedText: function () { //翻转文本的方法
   //这里的this指向当前Vue实例
   return this.text.split(',').reverse().join(',');
  }
  }
 });
</script>

在methods里定义了一个方法实现了和计算机属性相同的效果,甚至该方法还可以接受参数,使用起来更灵活,既然使用methods就可以实现,那为什么还需要计算机属性呢?原因就是计算机属性是基于它的依赖缓存的。一个计算机属性所依赖的数据发生变化时,它才会重新赋值,所以text只要不改变,计算机属性也就不会更新,如:

computed: {
 now: function () {
 return Date.now();
 }
}

这里的Date.now()不是响应式依赖,所以计算机属性now不会更新。但是methods则不同,只要重新渲染,它就会被调用,因此函数也会被执行。

总结: 使用计算机属性还是methods取决于你是否需要缓存,当遍历大数组和做大量计算时,应当使用计算机属性,除非你不希望得到缓存。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 加载并解析XML字符串的代码
Dec 13 Javascript
JS之Date对象和获取系统当前时间详解
Jan 13 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
Jun 05 Javascript
函数window.open实现关闭所有的子窗口
Aug 03 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
May 12 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
Oct 30 Javascript
从零开始搭建一个react项目开发
Feb 09 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
解决layui 三级联动下拉框更新时回显的问题
Sep 03 Javascript
JavaScript字符和ASCII实现互相转换
Jun 03 Javascript
微信小程序 导入图标实现过程详解
Oct 11 #Javascript
在vue中高德地图引入和轨迹的绘制的实现
Oct 11 #Javascript
vue实现点击按钮下载文件功能
Oct 11 #Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
Oct 11 #Javascript
详解vue 自定义组件使用v-model 及探究其中原理
Oct 11 #Javascript
JsonProperty 的使用方法详解
Oct 11 #Javascript
vue element upload组件 file-list的动态绑定实现
Oct 11 #Javascript
You might like
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
用js重建星际争霸
2006/12/22 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
vant 中van-list的用法说明
2020/11/11 Javascript
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python基于socket实现网络广播的方法
2015/04/29 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
python将unicode转为str的方法
2017/06/21 Python
python正则表达式面试题解答
2020/04/28 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
python3 实现调用串口功能
2019/12/26 Python
python获取整个网页源码的方法
2020/08/03 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
连锁经营管理专业大学生求职信
2013/10/30 职场文书
应届生法律顾问求职信
2013/11/19 职场文书
人事行政主管岗位职责
2013/12/22 职场文书
心得体会开头
2014/01/01 职场文书
小学开学寄语
2014/01/19 职场文书
期中考试后的反思
2014/02/08 职场文书
2015年校本培训工作总结
2015/07/24 职场文书