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 相关文章推荐
改善你的jQuery的25个步骤 千倍级效率提升
Feb 11 Javascript
另一个javascript小测验(代码集合)
Jul 27 Javascript
javascript面向对象入门基础详细介绍
Sep 05 Javascript
jquery五角星评分插件示例分享
Feb 21 Javascript
推荐一个封装好的getElementsByClassName方法
Dec 02 Javascript
JavaScript中的pow()方法使用详解
Jun 15 Javascript
JavaScript中windows.open()、windows.close()方法详解
Jul 28 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 Javascript
js编写简单的计时器功能
Jul 15 Javascript
在 React、Vue项目中使用SVG的方法
Feb 09 Javascript
详解如何在项目中使用jest测试react native组件
Feb 09 Javascript
微信小程序实现多图上传
Jun 19 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
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
python numpy数组中的复制知识解析
2020/02/03 Python
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
艺术学院毕业生求职信
2014/07/09 职场文书
公安学专业求职信
2014/07/27 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
接待员岗位职责范本
2015/04/15 职场文书
法律讲堂观后感
2015/06/11 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
Python中itertools库的四个函数介绍
2022/04/06 Python