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 相关文章推荐
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
jQuery EasyUI API 中文文档 - Panel面板
Sep 30 Javascript
解析JavaScript中点号“.”的多义性
Dec 02 Javascript
Javascript动态创建表格及删除行列的方法
May 15 Javascript
javascript检查浏览器是否已经启用XX功能
Jul 10 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
Aug 20 Javascript
Jquery元素追加和删除的实现方法
May 24 Javascript
新入门node.js必须要知道的概念(必看篇)
Aug 10 Javascript
json数据处理及数据绑定
Jan 25 Javascript
JS字符串按逗号和回车分隔的方法
Apr 25 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
CountUp.js数字滚动插件使用方法详解
Oct 17 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
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
JSON 学习之完全手册 图文
2007/05/29 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
MVVM 双向绑定的实现代码
2018/06/21 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
python取代netcat过程分析
2018/02/10 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
Python grpc超时机制代码示例
2020/09/14 Python
python中的测试框架
2020/11/13 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
供用电专业求职信
2014/07/07 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
走近毛泽东观后感
2015/06/04 职场文书
公司开业主持词
2015/07/02 职场文书
货款欠条范本
2015/07/03 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
给领导敬酒词
2015/08/12 职场文书